スポンサーリンク

duコマンドで、ディレクトリ・ファイルのサイズ順にソートする

duコマンドで、ファイルのサイズ順にソートすることで、
最大サイズや最小サイズのディレクトリ・ファイルを見つけやすくなります。

duコマンドの-aオプションで、再帰的にファイ単位でファイルサイズを表示させます。
参考:duコマンドで、再帰的にファイル毎にサイズを表示する

$ du -a
16	./.DS_Store
16	./dir1/.DS_Store
8	./dir1/dir2/file3.c
8	./dir1/dir2/file4.txt
16	./dir1/dir2
8	./dir1/file2.txt
40	./dir1
80	./file1.c
8	./file2.txt
144	.

更に、sortコマンドの-nオプションでソートします。
数値としてソートするため、-nオプションを付与します。
参考:sortコマンドで数値の大小でソート

$ du -a | sort -n
8	./dir1/dir2/file3.c
8	./dir1/dir2/file4.txt
8	./dir1/file2.txt
8	./file2.txt
16	./.DS_Store
16	./dir1/.DS_Store
16	./dir1/dir2
40	./dir1
80	./file1.c
144	.

-rオプションを追加して逆順に並び替えします。

$ du -a | sort -nr
144	.
80	./file1.c
40	./dir1
16	./dir1/dir2
16	./dir1/.DS_Store
16	./.DS_Store
8	./file2.txt
8	./dir1/file2.txt
8	./dir1/dir2/file4.txt
8	./dir1/dir2/file3.c

特定のファイルを抽出して、ソートするにはgrepを使うと良いと思います。
下記は、.cのファイルをサイズ順にソートしています。

$ du -a | sort -nr | grep \.c$
80	./file1.c
8	./dir1/dir2/file3.c

スポンサーリンク