按特定内容查找并删除许多文件

按特定内容查找并删除许多文件

可能的重复:
使用 find 时,arg 列表太长错误

我尝试在许多文件夹中找到具有特定内容的许多文件,然后将其删除。

find dir.*/* -exec grep -l "content" {} \; | xargs rm -f

我收到以下消息:

-bash: /bin/find: Argument list too long

你能帮助我吗?

答案1

find自己执行递归。另外,不要使用xargs:它的输入格式与 的输出格式不兼容find。如果您有 GNU find 或 FreeBSD/NetBSD/OSX find,它内置了您需要的一切。

find dir.* -mindepth 2 -type f -exec grep -q "content" {} \; -delete

相关内容