如何在目录中的多个文件(具有给定的扩展名)中搜索某个字符串,并将其后的所有内容(包括搜索字符串)替换为空白字符串?
例子
我正在寻找“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