Come si ordina du -sh /dir/*
per taglia? Ho letto un sito che diceva di usare | sort -n
ma ovviamente non è giusto. Ecco un esempio sbagliato.
[~]# 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
Risposta accettata:
Se hai coreutils GNU (comuni nella maggior parte delle distribuzioni Linux), puoi usare
du -sh -- * | sort -h
Il -h
l'opzione dice sort
che l'input è il formato leggibile dall'uomo (numero con unità; basato su 1024 in modo che 1023 sia considerato inferiore a 1K che corrisponde a ciò che GNU du -h
fa).
Questa funzionalità è stata aggiunta a GNU Core Utilities 7.5 nell'agosto 2009.
Nota:
Se stai utilizzando una versione precedente di Mac OSX, devi installare coreutils con brew install coreutils
, quindi usa gsort
in sostituzione di sort
.
Le versioni più recenti di macOS (verificate su Mojave) supportano sort -h
nativamente.