awk 中的结束括号
Ending Parantheses in Awk
我有下面这行代码,我希望下面的三个增加四。
while(i <= 3)
我有以下内容,但它给我一个关于右括号的错误:
awk '/ while(i <= / {sub(+0,+4,)} ) 1' file >file.tmp && mv file.tmp file
任何thoughts/ideas关于如何修复错误并将错误增加四?
感谢您的任何意见。
这将使值 +4:
$ awk '/while\(i <= / {sub(+0,+4,)} 1' file
while(i <= 7)
请注意,您正在匹配 " while..."
,前导 space,并且在 {sub()}
之后的某处还有一个 )
。删除它们并转义 (
解决了这个问题。图形化:
awk '/ while(i <= / {sub(+0,+4,)} ) 1' file
^ ^ ^
extra? escape! removed!
总的来说,尽量从简单到复杂。你的基本结构是:
awk '/pattern/ {sub(+0,+4,)} 1' file
我有下面这行代码,我希望下面的三个增加四。
while(i <= 3)
我有以下内容,但它给我一个关于右括号的错误:
awk '/ while(i <= / {sub(+0,+4,)} ) 1' file >file.tmp && mv file.tmp file
任何thoughts/ideas关于如何修复错误并将错误增加四?
感谢您的任何意见。
这将使值 +4:
$ awk '/while\(i <= / {sub(+0,+4,)} 1' file
while(i <= 7)
请注意,您正在匹配 " while..."
,前导 space,并且在 {sub()}
之后的某处还有一个 )
。删除它们并转义 (
解决了这个问题。图形化:
awk '/ while(i <= / {sub(+0,+4,)} ) 1' file
^ ^ ^
extra? escape! removed!
总的来说,尽量从简单到复杂。你的基本结构是:
awk '/pattern/ {sub(+0,+4,)} 1' file