根据正则表达式搜索删除多行

时间:2012-06-26 10:42:11

标签: sed

如何根据正则表达式搜索删除行数? 例如 : 如果我有一个文件:

aaa
bbb
ccc
ddd
bbb
eee

我想删除包含“bbb”字符串的行及其后面的行。所以结果应该是这样的:

aaa
ddd

3 个答案:

答案 0 :(得分:5)

addr1,+N将匹配addr1之后的Naddr1行。

$ sed '/bbb/,+1d' file.txt 
aaa
ddd

答案 1 :(得分:3)

试试这个,

sed '/bbb/{N;d;}' your_file.txt

答案 2 :(得分:2)

printf "aaa\nbbb\nccc\nddd\neee" | sed '/bbb/,1+d'

输出

aaa
ddd
eee