我的输入文件有如下 block 。请帮助我使用 awk 或 sed 删除 block 及其内容
[abc]
para1=123
para2=456
para3=111
[pqr]
para1=333
para2=765
para3=1345
[xyz]
para1=888
para2=236
para3=964
现在如何完全删除 block 及其参数。请帮助我使用 awk 命令实现此目的。提前致谢
最佳答案
您可以使用 RS
来分割 block ,(注意:NR>1
因为 awk 在开始时生成一个空 block )
awk -vRS='[' -v remove="pqr" '
NR>1 && $0 !~ "^"remove"]" {printf "%s", "["$0; }
' file
你明白了,
[abc] para1=123 para2=456 para3=111 [xyz] para1=888 para2=236 para3=964
关于linux|awk|shell脚本 block 删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32973526/