El comando "df -h" pone saltos de línea en la salida. ¿Cómo lo soluciono?

14

Mi comando "df -h" en mi caja de Linux tiene algunos dispositivos con nombres más largos, por lo que la salida "df -h" tiene saltos de línea (o pestañas ??), lo que hace que sea difícil analizar la salida en un script.

¿Alguien sabe cómo puedo suprimir los saltos de línea para que la última de las siguientes salidas sea lo que obtengo:

[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

Y el formato deseado es:

[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
fuente
1
No puedo probar esto porque mis caminos de disco no son tan grandes como los tuyos. Pruebadf -Pkh
user606723
1
@ user606723: ¿por qué no ponerlo en una respuesta?
enzotib
Lo acabo de hacer ahora. = p. Al principio no lo puse en respuesta porque era una suposición evidente al mirar el archivo man durante dos segundos.
user606723
1
El uso de -hy -kjuntos no tiene sentido ya que se contradicen entre sí y el último dado "gana" (es decir, df -hkda salida a 1024 bloques mientras df -khda salida legible para humanos ).
PerlDuck

Respuestas:

18

Tratar: df -Pkh

La P significa "portátil" y lo obligará a seguir la salida estándar POSIX.
Tengo el presentimiento de que solucionará cualquier formato inteligente que df intente hacer.

En el futuro, cuando intente resolver problemas como estos, intente man dfver si puede encontrar algo que parezca que podría funcionar ... porque eso es lo que hice =)

usuario606723
fuente
Ack Estaba usando "df --help" en lugar de "man df". Gracias por el recordatorio.
djangofan
2
 df -Ph | awk '{printf "%-35s%-10s%-10s%-10s%-5s%s\n",$1,$2,$3,$4,$5,$6}'
Sumit Chauhan
fuente