可能的重复:
使用 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