搜索并替换文本以及同一行中的所有内容

搜索并替换文本以及同一行中的所有内容

如何在目录中的多个文件(具有给定的扩展名)中搜索某个字符串,并将其后的所有内容(包括搜索字符串)替换为空白字符串?


例子

我正在寻找“mystring”

文件包含:

foo bar mystring bar foo

我正在尝试:

foo bar

答案1

sed -i "s/mystring.*//" <filename>

-i 以内联方式执行替换(即 infile == outfile)。如果没有 -i,替换结果将打印到 stdout。

答案2

如果你不需要递归处理子目录中的文件,

perl -p -i -e 's/mystring.*//' *.ext

相关内容