从文件中多次替换和同时删除行

时间:2012-05-28 11:40:04

标签: sed filtering

我有大量文件,我想从中删除包含特定字符串集的行。

我知道sed -i '/string1/d'用于执行此操作,因为您只想删除包含一个特定字符串的行,但是我想知道执行此操作的选项是什么我有一组我想要的字符串匹配跨行并删除这些行。

这可能吗:sed -i '/string1|string2/d' file.txt

1 个答案:

答案 0 :(得分:2)

您只需要转义|

sed -i '/string1\|string2/d' file.txt

请注意,您也可以这样做:

sed -i -e '/string1/d' -e '/string2/d' file.txt

在这种特殊情况下你可以这样做:

sed -i '/string[12]/d' file.txt

(最后一个例子是为了说明可能有很多方法来操作模式以符合您的要求。)