我是shell脚本的新手。
如何在模式匹配时删除多行并停止删除,直到匹配第一个空行?
答案 0 :(得分:7)
你可以这样做:
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