ディレクトリとサブディレクトリで最大のファイルを見つけるための最速の方法

ディレクトリとサブディレクトリで最大のファイルを見つけるための最速の方法

現在のディレクトリとそれ以降のディレクトリで最大のファイルを見つける必要があります。頑張った

ls -Rlh | awk '{print $3 " " $5 " " $9}' 

しかし、可能であれば、最大のファイルをソートして選択する方法はわかりません。

ベストアンサー1

牛に似た一種の栄養find+sort+headファイルパスに改行文字が含まれていないと仮定して解決策(すべてのディレクトリ深度レベル):

find . -type f -printf "%s %p\n" | sort -nr | head -1
  • %s- ファイルサイズをバイト単位で指す書式指定子
  • %p- ファイル名を指す書式指定子
  • sort -nr- レコードを数値に従って逆順にソートします。
  • head -1- TOP 最初のライン/レコード印刷

1つ取得するには人が読めるファイルサイズ値 - GNUコマンドを使用してパイプを拡張しますnumfmt(サポートされている場合)。

find . -type f -printf "%s %p\n" | sort -nr | head -1 | numfmt --to=si

おすすめ記事