我有大量文件,我想从中删除包含特定字符串集的行。
我知道sed -i '/string1/d'
用于执行此操作,因为您只想删除包含一个特定字符串的行,但是我想知道执行此操作的选项是什么我有一组我想要的字符串匹配跨行并删除这些行。
这可能吗:sed -i '/string1|string2/d' file.txt
?
答案 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
(最后一个例子是为了说明可能有很多方法来操作模式以符合您的要求。)