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

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


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}'
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.