gpt4 book ai didi

linux|awk|shell脚本修改多个 block 中的同名行

转载 作者:太空宇宙 更新时间:2023-11-04 05:37:52 25 4
gpt4 key购买 nike

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 block 内 para2 的值,而不单独更改其他 block 或第一个 block 中的值。请帮助我使用 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

关于linux|awk|shell脚本修改多个 block 中的同名行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33240263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com