GNU/Linux >> Tutoriels Linux >  >> Linux

du -h avec plus de décimales

du -Lsbc * | awk '
    function hr(bytes) {
        hum[1024**4]="TiB";
        hum[1024**3]="GiB";
        hum[1024**2]="MiB";
        hum[1024]="kiB";
        for (x = 1024**4; x >= 1024; x /= 1024) {
            if (bytes >= x) {
                return sprintf("%8.3f %s", bytes/x, hum[x]);
            }
        }
        return sprintf("%4d     B", bytes);
    }

    {
        print hr($1) "\t" $2
    }
'

awk-fonction basée sur ceci.

On pourrait probablement rendre la sortie un peu plus belle en la faisant passer par column ou en le remplissant à gauche avec des espaces.

Modifier : Ajout du rembourrage gauche.

Aussi, pour trier la liste :du -Lsbc * | sort -n | awk puis le script awk.


Linux
  1. En savoir plus sur votre système Linux avec inxi

  2. Plus de conseils pour empaqueter votre logiciel Linux avec RPM

  3. Rendez la sortie de du plus utile avec cette astuce

  4. Patcher un binaire avec Dd ?

  5. Gartner sonne la nouvelle année avec Tech Forecast (suite)

Reconnaître plus d'appareils sous Linux avec ce référentiel d'ID USB

Commande Linux plus expliquée avec des exemples

Rendre Vim encore plus génial avec ces fonctionnalités intéressantes

Tirez le meilleur parti de votre Kindle sous Linux avec ces conseils simples

Comment :Programmation orientée objet - Plus avec les classes et les objets

Quel est le package le plus standard, getopt ou getopts (avec un s) ?