Linux
在短時間內查找+搜尋大文件
我正在使用以下查找語法來查找
std*
大於1000M
.find /data -type f \( -name "stdout" -o -name "stderr" \) -size +1000M -print
有時我們會根據大小搜尋文件夾中的文件
30G
,這需要花費同樣30min
或更長的時間。由於這個 find 命令是 bash 腳本的一部分,我想知道我們是否可以更快地進行搜尋?
find /data -type f \( -name "stdout" -o -name "stderr" \) -size +1000M -print
可能非常接近使用常用 shell 腳本工具所能達到的最快速度。單個文件的大小無關緊要,因為它是與內容分開記錄的。也就是說,find
實際上並沒有計算每個文件中的字節數來檢查它是否足夠大。如@Kusalananda 所述,此命令的瓶頸很可能是文件數量或腳本的其他部分。如果您被允許透露原始碼,我建議您在Code Review Stack Exchange上提問。