删除以单词“mark”开头并以“;”结尾的句子

删除以单词“mark”开头并以“;”结尾的句子

我有 100 个文件,其中包含以标记并结束于分号(;)

eg: mark is driving a car;

我需要删除所有以 开头的句子标记并以“结尾

如何使用sed或类似的工具。

我已经使用 sed 来替换模式,但不知道如何删除模式。

答案1

由于所有匹配的句子都在一行上,并且您说您已经熟悉 sed,那么它只是使用sed将一个模式替换为另一个模式的特殊情况,在这种情况下替换为没有任何内容:

sed -e 's/mark.*;//' 

答案2

您可以使用dinsed删除一行:

$ echo -e "mark is driving a car;\nbob is driving a car;" | sed -e '/^mark/d'
bob is driving a car;

答案3

您可以使用 sed:

sed -e '/^mark.*;$/d'

这将删除以“mark”开头并以“;”结尾的所有内容。

相关内容