Obtém a porcentagem de uso de um ponto de montagem [duplicado]

2
[root@vmx ~]# df -h /appl/was  | grep [0-9]%  | awk '{ print $4 }' # => 53%

[root@vmx ~]# df -h /  | grep [0-9]%  | awk '{ print $4 }' # -> 108G

Isso está acontecendo porque, no caso de um nome de dispositivo longo, a saída é impressa em duas linhas

[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% /

Como posso evitar isso?

A versão do core-utils é coreutils-8.4-46.el6.x86_64.

    
por Spike.WD 06.06.2017 / 21:21

1 resposta

3

Use a opção --output do comando df para gerar apenas o campo " porcentagem " necessário:

df / --output=pcent | tail -n 1

A saída:

 7%
--output[=FIELD_LIST]
     use the output format defined by FIELD_LIST

A alternativa df + awk pipeline seria semelhante:

df / | awk 'END{ print $(NF-1) }'
7%
    
por 06.06.2017 / 21:50