我对 shell 脚本还很陌生。
如何在匹配到模式时删除多行并在匹配到第一个空行时停止删除?
最佳答案
你可以这样做:
sed '/STARTING_PATTERN/,/^$/d' filename
这将选择从 STARTING_PATTERN
开始到空白行 ^$
的所有行,然后删除这些行。
要就地编辑文件,请使用 -i
选项。
sed -i '/STARTING_PATTER/,/^$/d' filename
或者使用awk
:
awk 'BEGIN{f=1} /STARTING_PATTERN/{f=0} f{print} !$0{f=1}' filename
关于linux - 如何在模式匹配时使用sed删除多行并在第一个空行停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31091332/