Afficher la taille du file lisible par un humain dans du

J'utilise cette command pour déterminer quel directory mange mon disque.

du -sk * | sort -n 

Comment puis-je get des résultats lisibles par un humain pour les tailles de file? J'ai vérifié l' man et tout ce qu'il a est -k drapeau qui transforme les résultats d'octets en kilobyte. J'ai besoin de résultats en gigaoctets

Cela peut fonctionner:

 du -hs * | sort -h 

Si votre copy du du ne supporte pas le drapeau -h , vous pouvez convertir les nombres en utilisant awk .

 du -ks * | awk ' function human(x) { s="kMGTEPYZ"; while (x>=1000 && length(s)>1) {x/=1024; s=substr(s,2)} return int(x+0.5) substr(s,1,1) } {gsub(/^[0-9]+/, human($1)); print}' 

Sur une machine Linux [basée sur Debian], j'obtiens ceci en ouvrant la page de manuel pour du :

  -h, --human-readable print sizes in human readable format (eg, 1K 234M 2G) 

Ainsi: du -h devrait vous donner ce dont vous avez besoin. Sinon, aussi de l' man du :

  --si like -h, but use powers of 1000 not 1024 -k like --block-size=1K 

Je me request vraiment où vous avez trouvé vos informations.