Der Befehl „df -h“ fügt Zeilenumbrüche in die Ausgabe ein. Wie repariere ich?

14

Mein "df -h" -Befehl auf meiner Linux-Box hat einige Geräte mit längeren Namen, und daher enthält die "df -h" -Ausgabe Zeilenumbrüche (oder Tabulatoren?), Die das Parsen der Ausgabe in einem Skript erschweren.

Weiß jemand, wie ich die Zeilenumbrüche unterdrücken kann, so dass die letztere der folgenden Ausgaben das ist, was ich erhalte:

[root@me ~]# df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      3.9G  404M  3.3G  11% /
/dev/mapper/VolGroup00-LogVol05
                      3.9G  442M  3.3G  12% /home
/dev/mapper/VolGroup00-LogVol04
                      3.9G  261M  3.5G   7% /var
/dev/mapper/VolGroup00-LogVol03
                      3.9G  137M  3.6G   4% /tmp
/dev/mapper/VolGroup00-LogVol02
                      7.8G  3.6G  3.8G  49% /usr

Und das gewünschte Format ist:

[root@me ~]# df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00   3.9G  404M  3.3G  11% /
/dev/mapper/VolGroup00-LogVol05   3.9G  442M  3.3G  12% /home
/dev/mapper/VolGroup00-LogVol04   3.9G  261M  3.5G   7% /var
/dev/mapper/VolGroup00-LogVol03   3.9G  137M  3.6G   4% /tmp
/dev/mapper/VolGroup00-LogVol02   7.8G  3.6G  3.8G  49% /usr
Djangofan
quelle
1
Ich kann das nicht testen, weil meine Laufwerkspfade nicht so groß sind wie deine. Versuchen Siedf -Pkh
user606723
1
@ user606723: warum steckst du es nicht in eine antwort?
Enzotib
Ich habe es gerade getan. = p. Ich habe es zuerst nicht beantwortet, weil es eine offensichtliche Vermutung war, zwei Sekunden lang die Akte des Mannes zu betrachten.
user606723
1
Die Verwendung von -hund -kzusammen ist sinnlos, da sie sich widersprechen und die zuletzt angegebene "gewinnt" (dh sie df -hkgibt 1024 Blöcke aus, während sie df -kheine vom Menschen lesbare Ausgabe liefert ).
PerlDuck

Antworten:

18

Versuchen: df -Pkh

Das P steht für "portabel" und zwingt es, der POSIX-Standardausgabe zu folgen.
Ich habe eine Ahnung, wird jede clevere Formatierung, die df zu tun versucht, zu beheben.

Wenn Sie in Zukunft versuchen, Probleme wie diese zu lösen, versuchen man dfSie, etwas zu finden, das so aussieht, als würde es funktionieren ... denn das habe ich getan =)

user606723
quelle
Ack. Ich habe "df --help" anstatt "man df" verwendet. Danke für die Erinnerung.
Djangofan
2
 df -Ph | awk '{printf "%-35s%-10s%-10s%-10s%-5s%s\n",$1,$2,$3,$4,$5,$6}'
Sumit Chauhan
quelle