我试图运行此命令,但得到arg list太长错误:
find /dir1/dir2/dir3/dir4/dir5 -name *.cdb -type f -mmin +30 -delete
错误是:
/usr/bin/find: Arg list too long.
可能find命令返回太多文件。 关于如何克服这个问题的任何建议?
由于
答案 0 :(得分:1)
首先,您应该转义星号以防止shell扩展它:
find /dir1/dir2/dir3/dir4/dir5 -name \*.cdb -type f -mmin +30 -delete
或
find /dir1/dir2/dir3/dir4/dir5 -name '*.cdb' -type f -mmin +30 -delete
答案 1 :(得分:0)
Bash globbing正在扩展您的*.cdb
参数,并且您向find
命令发送了太多参数。
尝试在该参数中添加引号以避免shell扩展并将globbing任务传递给find
命令:
find /dir1/dir2/dir3/dir4/dir5 -name '*.cdb' -type f -mmin +30 -delete
如果您仍需要增加最大参数限制,则可以使用ulimit -s
:
ulimit -s 65536