指定ディレクトリ配下のサイズが大きいファイルをリストアップする
ある Git リポジトリ配下にある、ファイルサイズの大きいファイルをリストアップしたかった。配下のディレクトリを再帰的に調べて欲しく、やり方を色々調べたが、以下のように叩くのが良さそうだった。
$ find . -type f | xargs -n 1 -I {} ls -al '{}' | sort -nr -k5 | head -10
find
で配下のファイル名一覧を取得するxargs
を使って各ファイルのls -al
を出力する-l
オプションによりファイルサイズが出力されているので、sort
でそのカラムを指定してソートする- 先頭10行だけを適当に取得する
コレで、容量を食っているファイルが分かる。
du
コマンドだとディレクトリも含まれてしまって、思ったとおりの結果にはならない。覚えやすいし、xargs ls
よりも速いけど。
$ du . | sort -nr | head -10