“df -h”命令在输出中插入换行符。如何修复?

“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

P 代表“可移植”,将强制它遵循 POSIX 标准输出。
我有预感会修复 df 尝试执行的任何巧妙格式化。

将来,当您尝试解决类似问题时,请尝试man df看看是否可以找到任何看起来可能有效的东西……因为这就是我所做的=)

答案2

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

相关内容