GNU/Linux >> Znalost Linux >  >> Linux

du -h s více desetinnými místy

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-funkce založená na tomto.

Výstup by pravděpodobně mohl vypadat o něco hezčí tím, že jej propojíte column nebo jej doplňte doleva mezerami.

Upravit: Přidáno odsazení vlevo.

Chcete-li seznam seřadit:du -Lsbc * | sort -n | awk a poté awk-script.


Linux
  1. Udělejte více na příkazovém řádku Linuxu s GNU Parallel

  2. Zjistěte více o svém systému Linux pomocí inxi

  3. Udělejte duův výstup užitečnějším s tímto elegantním trikem

  1. méně je více? Je více méně? Jsem tak zmatená

  2. Seznam souborů složky stránku po stránce pomocí příkazu LS

  3. Který je standardnější balíček, getopt nebo getopts (s s)?

  1. Díky Linuxu budou počítače dostupnější a udržitelnější

  2. Udělejte z historie Bash užitečnější pomocí těchto tipů

  3. Oprava binárního kódu pomocí Dd?