以下命令将查找字符串的所有出现并删除找到该字符串的文件的内容。
find / -maxdepth 1 -xdev -type f -exec grep -i "stringtofind" -l {} \; -exec sed -i '/./d' {} \;
我已尝试对其进行修改以仅删除找到字符串但无法使其正常工作的行。
例如测试文件:
blah blah blah
blah blah blah teststring
teststringblah blah blah
blah blah blah
它将删除第 2 行和第 3 行,并使文件保持行之间没有间隙:
blah blah blah
blah blah blah