[root@vmx ~]# df -h /appl/was | grep [0-9]% | awk '{ print $4 }' # => 53%
[root@vmx ~]# df -h / | grep [0-9]% | awk '{ print $4 }' # -> 108G
发生这种情况是因为如果设备名称很长,输出会打印在两行上
[root@vmx ~]# df -h /appl/was Filesystem Size Used Avail Use% Mounted on /dev/mapper/appsvg-lvwasapp 6.9G 3.4G 3.1G 53% /appl/was
[root@vmx ~]# df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda2 122G 8.1G 108G 7% /
我怎样才能避免这种情况?
core-utils 版本是 coreutils-8.4-46.el6.x86_64。
答案1
使用--output
选项df
仅输出所需的“百分比“ 场地:
df / --output=pcent | tail -n 1
输出:
7%
--output[=FIELD_LIST] use the output format defined by FIELD_LIST
替代df
+awk
管道看起来像:
df / | awk 'END{ print $(NF-1) }'
7%