如何使用sed在匹配模式时删除多行,并停止到第一个空白行?

时间:2015-06-27 17:10:24

标签: linux shell sed

我是shell脚本的新手。

如何在模式匹配时删除多行并停止删除,直到匹配第一个空行?

1 个答案:

答案 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