删除以“mark”开头,以“;”开头的句子

我有100个包含以分号开头的句子并以分号(;)结尾的文件。

eg: mark is driving a car; 

我需要删除每个句子从标记开始,并以“ ; ”结束

如何使用sed或simmilar工具来做到这一点。

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

由于所有匹配的句子都在一行中,并且你说你已经熟悉了sed,那么这只是使用sedreplace另一个模式的一个特殊情况,在这种情况下,用什么replace:

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

您可以使用sedd删除一行:

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

你可以使用sed:

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

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