如果内容与模式不匹配则删除文件

如果内容与模式不匹配则删除文件

.html一个目录中有数百个文件。我需要删除bluecar内容中不包含单词的文件。

我想sedR M会这样做,但我不知道如何将它们结合起来。

答案1

通过 GNU grep/xargs 你可以使用

grep -LZ -- str *.html | xargs -r0 rm

答案2

这应该可以使用 grep 来实现:

grep -L bluecar *.html | xargs rm

答案3

find工具是常用的工具。

find . -name "*.html" \( -exec grep -q bluecar {} \; -o -exec rm {} \; \)

或者

find . -name "*.html" ! -exec grep -q bluecar {} \; -exec rm {} \;

但先在副本上尝试一下...

相关内容