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
承認された回答:
GNU coreutils(ほとんどのLinuxディストリビューションで一般的)がある場合は、
を使用できます。du -sh -- * | sort -h
-h
オプションはsort
に指示します 入力が人間が読める形式であること(単位付きの数値。1024ベースであるため、1023は1K未満と見なされ、GNU du -h
と一致します。
この機能は、2009年8月にGNU CoreUtilities7.5に追加されました。
注:
古いバージョンのMacOSXを使用している場合は、
brew install coreutils
を使用してcoreutilsをインストールする必要があります。 、次にgsort
を使用しますsort
のドロップイン置換として 。新しいバージョンのmacOS(Mojaveで確認済み)は
sort -h
をサポートしています ネイティブ。