¿Cómo ordenas du -sh /dir/*
? ¿por tamaño? Leí un sitio que decía usar | sort -n
pero eso obviamente no está bien. Aquí hay un ejemplo que está mal.
[~]# 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
Respuesta aceptada:
Si tiene GNU coreutils (común en la mayoría de las distribuciones de Linux), puede usar
du -sh -- * | sort -h
El -h
opción le dice a sort
que la entrada es el formato legible por humanos (número con unidad; basado en 1024 para que 1023 se considere menos de 1K, lo que coincide con lo que GNU du -h
lo hace).
Esta función se agregó a GNU Core Utilities 7.5 en agosto de 2009.
Si está utilizando una versión anterior de Mac OSX, debe instalar coreutils con brew install coreutils
, luego use gsort
como reemplazo directo de sort
.
Las versiones más nuevas de macOS (verificadas en Mojave) admiten sort -h
de forma nativa.