我有以下代码行,我希望下面的三行增加4。
while(i <= 3)
我有以下内容,但它给出了关于右括号的错误:
awk '/ while(i <= / {sub($3+0,$3+4,$3)} ) 1' file >file.tmp && mv file.tmp file
有关如何修复错误并将其增加4的任何想法/想法?
感谢您的任何意见。
答案 0 :(得分:3)
这将是+4值:
$ awk '/while\(i <= / {sub($3+0,$3+4,$3)} 1' file
while(i <= 7)
请注意,您将" while..."
与前导空格匹配,并且在)
之后的某个地方也有{sub()}
。删除它们并转义(
解决了问题。图形:
awk '/ while(i <= / {sub($3+0,$3+4,$3)} ) 1' file
^ ^ ^
extra? escape! removed!
一般来说,尝试从简单到复杂。你的基本结构是:
awk '/pattern/ {sub($3+0,$3+4,$3)} 1' file