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

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 =)


Ack. J'utilisais "df --help" plutôt que "man df". Merci pour le rappel.
djangofan

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.