GNU/Linux >> LINUX-Kenntnisse >  >> Linux

du -h mit mehr Dezimalstellen

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
    }
'

Darauf basierende awk-Funktion.

Man könnte die Ausgabe wahrscheinlich etwas schöner aussehen lassen, indem man sie durch column leitet oder links mit Leerzeichen auffüllen.

Bearbeiten: Linke Polsterung hinzugefügt.

Auch zum Sortieren der Liste:du -Lsbc * | sort -n | awk und dann das awk-Skript.


Linux
  1. Weitere Tipps zum Packen Ihrer Linux-Software mit RPM

  2. Gartner Rings in New Year with Tech Forecast (Forts.)

  3. Gartner Rings ins neue Jahr mit Tech Forecast 2015

  4. weniger ist mehr? Ist mehr weniger? ich bin so verwirrt

  5. Dateien des Ordners Seite für Seite mit dem LS-Befehl auflisten

Erkennen Sie mehr Geräte unter Linux mit diesem USB-ID-Repository

Linux more Befehl mit Beispielen erklärt

Machen Sie Vim mit diesen coolen Funktionen noch fantastischer

Holen Sie mit diesen einfachen Tipps mehr aus Ihrem Kindle unter Linux heraus

Gewusst wie:Objektorientierte Programmierung – Mehr mit Klassen und Objekten

Wie dividiert man mit bc (Bankrechner) und erhält Bruchergebnisse?