Получите процент использования для точки монтирования

[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.

Используйте параметр --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%