我有 100 个文件,其中包含以标记并结束于分号(;)。
eg: mark is driving a car;
我需要删除所有以 开头的句子标记并以“结尾;“
如何使用sed或类似的工具。
我已经使用 sed 来替换模式,但不知道如何删除模式。
答案1
由于所有匹配的句子都在一行上,并且您说您已经熟悉 sed,那么它只是使用sed
将一个模式替换为另一个模式的特殊情况,在这种情况下替换为没有任何内容:
sed -e 's/mark.*;//'
答案2
您可以使用d
insed
删除一行:
$ 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”开头并以“;”结尾的所有内容。