La commande "df -h" met des sauts de ligne en sortie. Comment puis-je réparer?

14

Ma commande "df -h" sur ma boîte Linux a des périphériques avec des noms plus longs et donc la sortie "df -h" contient des sauts de ligne (ou tabulations ??), ce qui rend difficile l'analyse de la sortie dans un script.

Est-ce que quelqu'un sait comment je peux supprimer les sauts de ligne pour que ce soit le dernier des résultats suivants:

[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

Et le format souhaité est:

[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
la source
1
Je ne peux pas tester cela car mes chemins d'accès ne sont pas énormes comme les vôtres. Essayezdf -Pkh
user606723
1
@ user606723: pourquoi ne pas le mettre dans une réponse?
enzotib
Je viens de le faire. = p. Je ne l'ai pas mis dans une réponse au début parce que c'était une supposition flagrante de regarder le fichier man pendant deux secondes.
user606723
1
L'utilisation de -het -kensemble est inutile car ils se contredisent et le dernier donné "gagne" (c'est-à-dire df -hkdonne 1024 blocs de sortie tout en df -khdonnant une sortie lisible par l'homme ).
PerlDuck

Réponses:

18

Essayer: df -Pkh

Le P signifie "portable" et le forcera à suivre la sortie standard POSIX.
J'ai une intuition qui corrigera tout formatage intelligent que df essaie de faire.

À l'avenir, lorsque vous essayez de résoudre des problèmes comme ceux-ci, essayez de man dfvoir si vous pouvez trouver quelque chose qui pourrait fonctionner ... car c'est ce que j'ai fait =)

user606723
la source
Ack. J'utilisais "df --help" plutôt que "man df". Merci pour le rappel.
djangofan
2
 df -Ph | awk '{printf "%-35s%-10s%-10s%-10s%-5s%s\n",$1,$2,$3,$4,$5,$6}'
Sumit Chauhan
la source