指定ディレクトリ配下のサイズが大きいファイルをリストアップする
ある 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