std*
より大きいものを見つけるには、次の検索構文を使用します1000M
。
find /data -type f \( -name "stdout" -o -name "stderr" \) -size +1000M -print
30G
時々、同じサイズまたはより長い時間がかかるフォルダ内のファイルを検索します30min
。
この find コマンドは bash スクリプトの一部なので、検索を高速化できるかどうか疑問に思います。
答え1
find /data -type f \( -name "stdout" -o -name "stderr" \) -size +1000M -print
おそらく、一般的なシェルスクリプトツールを使用して取得できる最速の速度に非常に近いです。個々のファイルのサイズはコンテンツとは別に記録されるため、重要ではありません。つまり、find
実際にはそうではありません。計算ファイルが十分に大きいことを確認するための各ファイルのバイト数。このコマンドのボトルネックは、次のようなファイル数である可能性が高くなります。@Kusalanandaが言及されています、またはスクリプトの他の部分。
ソースコードの公開が許可されている場合は尋ねることをお勧めします。コードレビュースタック交換。