![按特定内容查找并删除许多文件](https://linux22.com/image/25047/%E6%8C%89%E7%89%B9%E5%AE%9A%E5%86%85%E5%AE%B9%E6%9F%A5%E6%89%BE%E5%B9%B6%E5%88%A0%E9%99%A4%E8%AE%B8%E5%A4%9A%E6%96%87%E4%BB%B6.png)
可能的重复:
使用 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