My input file has blocks like below.
[abc]
para1=123
para2=456
para3=111
[pqr]
para1=333
para2=765
para3=1345
[xyz]
para1=888
para2=236
para3=964
现在我该如何单独修改pqr块内的para2的值而不更改其他块或第一个块中的值。请通过awk或perl或sed命令帮助我实现此目标。
最佳答案
试试这个awk
:
awk -v RS= -v ORS='\n\n' '/^\[pqr\]/{sub(/para2=[^\n]*/, "para2=foobar")} 1' file
[abc]
para1=123
para2=456
para3=111
[pqr]
para1=333
para2=foobar
para3=1345
[xyz]
para1=888
para2=236
para3=964