当在一个非常大的目录上运行find
命令时,我发现find
内存使用量比我想象的要多得多。我发现由于“find”一词的使用过多,很难找到解决方案;)这是命令:
find /var/dir -size +500k -iname "pattern_*" -mtime +90 -type f -exec rm {} \; -print
find 在处理目录时会将整个文件列表保存在内存中吗?它似乎可以只检查一个条目然后继续。我正在处理的目录中有大约 200 万个文件,现在我开始遇到内存限制问题。
有什么方法find
可以减少内存使用量吗?有没有更好的替代方案?我只需要删除此目录中符合几个条件的文件,然后打印它们。(我最后的解决方案是,我将编写自己的程序来执行我需要的操作,方法是将结果流式传输ls
...)