"df -h" 命令在输出中放置了换行符。我该如何修复?

我的Linux系统上的“df -h”命令有一些设备名称较长,因此“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

1我无法测试这个,因为我的驱动器路径不像你的那样庞大。尝试使用 df -Pkh 命令。 - user606723
1@user606723:为什么不把它放在一个回答里呢? - enzotib
我刚才做了。= p。一开始我没有在答案中写出来,因为这只是看了两秒钟的man文件后的明显猜测。 - user606723
1同时使用-h-k是没有意义的,因为它们彼此矛盾,并且最后一个给定的参数会“胜出”(例如,df -hk会输出_1024块_,而df -kh会输出_可读性高_的结果)。 - PerlDuck
2个回答

尝试:df -Pkh
P代表“可移植”,它将强制其遵循POSIX标准输出。 我有一种直觉,这将修复df尝试做的任何巧妙格式。
将来当你尝试解决类似的问题时,请尝试man df并查看是否能找到看起来可能有效的内容...因为这就是我所做的=)

哦,我一直在使用"df --help"而不是"man df"。谢谢你的提醒。 - djangofan

 df -Ph | awk '{printf "%-35s%-10s%-10s%-10s%-5s%s\n",$1,$2,$3,$4,$5,$6}'