我有一个文件
1.txt
ejryheiur
rewurie
(
ejwhrejkrh
rewrhwe
rewkhrwe
rewhkr
)
dfhgsdfh
rqwergjweg
jhwgrh
(
rehgwrwhe
rhwejkr
)
使用这个 nawk 脚本
nawk '
BEGIN {
count1=1 ;
count2=0 ;
}
{
if ((NR > 2) && ( $0 ~/(/) )
{
count1++ ;
if ((NR > 2) && ($0 ~/)/))
{
count2++ ;
if (count1 == count2)
{
print NR ;
exit
}
}
}
else
{
if ((NR > 2) && ($0 ~ /)/))
{
count2++ ;
if (count1 == count2)
{
print NR;
exit
}
}
}
}
' 1.txt
但我收到了这个错误:
nawk:正则表达式中的主键非法(在源代码行号 7 上下文是
if ((NR > 2) && ($0 >>> ~/(/ <<< ))
答案1
您需要转义正则表达式中的圆括号。
用反斜杠:
if ((NR > 2) && ( $0 ~/\(/) )
或者使用方括号:
if ((NR > 2) && ( $0 ~/[(]/) )