Comment trier du -sh /dir/* par taille? J'ai lu un site qui disait d'utiliser | sort -n mais ce n'est évidemment pas juste. Voici un exemple qui est faux.
[~]# 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
Réponse acceptée :
Si vous avez GNU coreutils (courant dans la plupart des distributions Linux), vous pouvez utiliser
du -sh -- * | sort -h
Le -h l'option indique sort que l'entrée est au format lisible par l'homme (nombre avec unité ; basé sur 1024 de sorte que 1023 est considéré comme inférieur à 1K, ce qui correspond à ce que GNU du -h fait).
Cette fonctionnalité a été ajoutée à GNU Core Utilities 7.5 en août 2009.
Remarque :
Si vous utilisez une ancienne version de Mac OSX, vous devez installer coreutils avec
brew install coreutils, puis utilisezgsorten remplacement direct desort.Les nouvelles versions de macOS (vérifiées sur Mojave) prennent en charge
sort -hnativement.