按特定内容查找和删除多个文件

Web*_*ith 4 grep find

可能重复:
使用 find 时 Arg 列表太长错误

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

find dir.*/* -exec grep -l "content" {} \; | xargs rm -f
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

-bash: /bin/find: Argument list too long
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗?

Gil*_*il' 5

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

find dir.* -mindepth 2 -type f -exec grep -q "content" {} \; -delete
Run Code Online (Sandbox Code Playgroud)