du出力をサイズでソートする方法は?

du出力をサイズでソートする方法は?

du -sh /dir/*サイズ別にどのように並べ替えますか?を使用するようにウェブサイトを読ん| sort -nだが、明らかに真実ではありません。これは間違った例です。

[~]# du -sh /var/* | sort -n
0       /var/mail
1.2M    /var/www
1.8M    /var/tmp
1.9G    /var/named
2.9M    /var/run
4.1G    /var/log
8.0K    /var/account
8.0K    /var/crash
8.0K    /var/cvs
8.0K    /var/games
8.0K    /var/local
8.0K    /var/nis
8.0K    /var/opt
8.0K    /var/preserve
8.0K    /var/racoon
12K     /var/aquota.user
12K     /var/portsentry
16K     /var/ftp
16K     /var/quota.user
20K     /var/yp
24K     /var/db
28K     /var/empty
32K     /var/lock
84K     /var/profiles
224M    /var/netenberg
235M    /var/cpanel
245M    /var/cache
620M    /var/lib
748K    /var/spool

ベストアンサー1

GNU coreutils(ほとんどのLinuxディストリビューションで共通)がある場合は、次のものを使用できます。

du -sh -- * | sort -h

この-hオプションは、sort入力が人間が読める形式であることを示しますdu -h

この機能2009年8月GNUコアユーティリティ7.5に追加されました

メモ:

以前のバージョンのMac OSXを使用している場合は、coreutilsをインストールしてbrew install coreutilsから。gsortsort

最新バージョンのmacOS(Mojaveで検証済み)はデフォルトでサポートされてsort -hいます。

おすすめ記事