错误:查找参数列表太长并且 -max深度 0 没有帮助,目录包含许多文件

错误:查找参数列表太长并且 -max深度 0 没有帮助,目录包含许多文件

我正在尝试通过命令删除超过 100 天的图像缓存文件

find /mnt/data/cache/*.jpg -maxdepth 0 -mtime +100 -type f -ls -delete

但问题是/mnt/数据/缓存/包含大量文件,我收到错误

bash: /usr/bin/find: 参数列表太长

/mnt/data/cache/ 中没有子目录。 /mnt/data/cache/ 文件夹中的所有文件和标准-最大深度0解决方案没有帮助

那么有什么办法可以按某些部分或偏移限制进行查找吗?或者是否有一些替代命令可以删除目录中早于 100 天的文件?

答案1

find /mnt/data/cache/*.jpg ...

将扩展到

find /mnt/data/cache/1.jpg /mnt/data/cache/2.jpg /mnt/data/cache/3.jpg ...

如果您的文件太多,这会导致您看到的错误。

如果没有子目录,则可以跳过-maxdepth 0-type f

你想要的是

find /mnt/data/cache/ -mtime +100 -name \*.jpg -ls -delete

最后一句话,如果你追加> /dev/null,就删除-ls

相关内容