Bash

Verbesserung des Ausgabeformats des df-Befehls mit awk in Bash

Einführung, wie man die Lesbarkeit von df mit dem Bash-Befehl awk in der Linux-Befehlszeilensprache Bash verbessert.

Shou Arisaka
2 Min. Lesezeit
11. Okt. 2025

Einführung, wie man die Lesbarkeit von df mit dem Bash-Befehl awk in der Linux-Befehlszeilensprache Bash verbessert.

awk ist interessant.

df
    df: /mnt/_share: Transport endpoint is not connected
    df: /mnt/_share: Transport endpoint is not connected
    df: /mnt/_share: Transport endpoint is not connected
    Filesystem      1K-blocks       Used  Available Use% Mounted on
    rootfs          975731888  913886036   61845852  94% /
    root            975731888  913886036   61845852  94% /root
    home            975731888  913886036   61845852  94% /home
    data            975731888  913886036   61845852  94% /data
    cache           975731888  913886036   61845852  94% /cache
    mnt             975731888  913886036   61845852  94% /mnt
    none            975731888  913886036   61845852  94% /dev
    none            975731888  913886036   61845852  94% /run
    none            975731888  913886036   61845852  94% /run/lock
    none            975731888  913886036   61845852  94% /run/shm
    none            975731888  913886036   61845852  94% /run/user
    C:              975731888  913886036   61845852  94% /mnt/c
    E:             2930133932  381876300 2548257632  14% /mnt/e
    G:             2930133932 1545875952 1384257980  53% /mnt/g
    H:             2930134012 2625853000  304281012  90% /mnt/h

color df 2>/dev/null | awk '{if ($1 ~ /\w{1}:/){print $1,$5,$6}}'
    C: 94% /mnt/c
    E: 14% /mnt/e
    G: 53% /mnt/g
    H: 90% /mnt/h

Ich wollte die Byte-Anzahl in GB konvertieren, indem ich sie zur Division an Python übergebe, aber ich wusste nicht wie, weil die Befehlsausführung etwas komplex war.

awk - Assigning system command’s output to variable - Stack Overflow

(Hinzugefügt) Ich habe es zum Laufen gebracht. Ich habe einen Artikel gepostet.

Einige Dokumentationsreferenzen für awk.

AWK Cheat Sheet | ShortcutFoo AWK cheatsheet

Ich habe es verbessert.

color df 2>/dev/null | awk '{if ($1 ~ /\w{1}:/){"python -c \"print("$4"/1000/1000)\" | perl -pe 'chomp'" |& getline $11 ; print $1,$11"(GB)",$5,$6}}'
    C: 61(GB) 94% /mnt/c
    E: 2548(GB) 14% /mnt/e
    G: 1384(GB) 53% /mnt/g
    H: 304(GB) 90% /mnt/h

(Hinzugefügt im Jahr 2021: Ist das nicht einfach “df -h”? Ich verstehe nicht wirklich, was ich damals versucht habe zu tun.

Diesen Artikel teilen

Shou Arisaka 11. Okt. 2025

🔗 Links kopieren