O comando "df -h" coloca quebras de linha na saída. Como faço para corrigir?

14

Meu comando "df -h" na minha caixa Linux possui alguns dispositivos com nomes mais longos e, portanto, a saída "df -h" possui quebras de linha (ou tabulações ??), o que dificulta a análise da saída em um script.

Alguém sabe como eu posso suprimir as quebras de linha para que a última das seguintes saídas seja o que eu recebo:

[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

E o formato desejado é:

[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
fonte
1
Não posso testar isso porque meus caminhos de unidade não são enormes como o seu. Tentedf -Pkh
user606723
1
@ user606723: por que não colocá-lo em uma resposta?
enzotib
Eu fiz agora. = p. Eu não o respondi a princípio, porque era um palpite descarado de olhar para o arquivo do homem por dois segundos.
user606723
1
O uso de -he -kjuntos é inútil, pois eles se contradizem e o último dado "ganha" (ou seja, df -hkfornece 1024 blocos de saída enquanto df -khfornece saída legível por humanos ).
PerlDuck #

Respostas:

18

Experimentar: df -Pkh

OP significa "portátil" e o forçará a seguir a saída padrão POSIX.
Eu tenho um palpite irá corrigir qualquer formatação inteligente que df tenta fazer.

No futuro, quando você tentar resolver problemas como esses, tente man dfe veja se consegue encontrar algo que pareça que funcione ... porque foi isso que eu fiz =)

user606723
fonte
Ack. Eu estava usando "df --help" em vez de "man df". Obrigado pela lembrança.
precisa saber é o seguinte
2
 df -Ph | awk '{printf "%-35s%-10s%-10s%-10s%-5s%s\n",$1,$2,$3,$4,$5,$6}'
Sumit Chauhan
fonte