Команда «df -h» помещает разрывы строк в вывод. Как мне исправить?

14

Моя команда "df -h" на моем Linux-устройстве содержит некоторые устройства с более длинными именами, поэтому в выводе "df -h" есть разрывы строк (или табуляции ??), что затрудняет анализ выходных данных в скрипте.

Кто-нибудь знает, как я могу подавить разрывы строк, так что последний из следующих выходных данных является то, что я получаю:

[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

И желаемый формат:

[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
источник
1
Я не могу проверить это, потому что мои пути не такие большие, как у вас. Попробуйтеdf -Pkh
user606723
1
@ user606723: почему бы не поставить его в ответ?
энзотиб
Я сделал только сейчас. = р. Сначала я не отвечал на это, потому что это было откровенное предположение, когда я смотрел на файл в течение двух секунд.
user606723
1
Использование -hи -kвместе бессмысленно, так как они противоречат друг другу, и последний дает «выигрыш» (то есть df -hkдает 1024 блока вывода, в то время как df -khдает читабельный вывод).
PerlDuck

Ответы:

18

Пытаться: df -Pkh

P означает «портативный» и заставит его следовать стандартному выводу POSIX.
У меня есть догадка исправить все умное форматирование, которое пытается сделать df.

В будущем, когда вы попытаетесь решить подобные проблемы, попробуйте man dfи посмотрите, сможете ли вы найти что-то похожее на то, что оно может работать ... потому что это то, что я сделал =)

user606723
источник
Ack. Я использовал «df --help» вместо «man df». Спасибо за напоминание.
Джангофан
2
 df -Ph | awk '{printf "%-35s%-10s%-10s%-10s%-5s%s\n",$1,$2,$3,$4,$5,$6}'
Сумит Чаухан
источник