yae*_*ael 0 linux bash rhel find shell-script
我使用下述顺序的查找语法找到巨大的std*是更多的则文件1000M。
find /data -type f \( -name "stdout" -o -name "stderr" \) -size +1000M -print
Run Code Online (Sandbox Code Playgroud)
有时我们搜索文件夹上的文件30G大小,这需要时间30min或更长的时间。
由于此 find 命令是 bash 脚本的一部分,我想知道我们是否可以更快地进行搜索?
find /data -type f \( -name "stdout" -o -name "stderr" \) -size +1000M -print可能非常接近您使用常用 shell 脚本工具所能达到的最快速度。单个文件的大小无关紧要,因为它与内容分开记录。也就是说,find实际上并没有计算每个文件中的字节数来检查它是否足够大。这个命令的瓶颈很可能是文件的数量,正如@Kusalananda所提到的,或者脚本的其他部分。
如果允许您透露源代码,我建议您在Code Review Stack Exchange上询问。