Quero comparar meu resultado awk com um valor específico por if condition

0

Eu tenho o resultado no comando abaixo. Eles são a capacidade de drives que eu quero comparar com um valor limite. Então, quero comparar cada linha com um valor específico. Se maior, então segue-se uma condição.

df -kP | awk '{print $5}'| sed 's/%//g'|sed -n '1!p'

A saída deste comando é assim:

36
0
19
36
36
    
por geekybuddy 16.03.2017 / 02:33

1 resposta

0

Basta fazer tudo no awk:

df -kP | awk 'NR > 1 { gsub("%","",$5); if (0 + $5 > 90) { system("echo " $6 " is too high") }}'

Aqui estamos manipulando $5 como você era antes, mas usando gsub() para retirar o sinal % , NR > 1 para cuidar do sed e depois forçar $ 5 para ser visto como integer, nós o comparamos com um valor mágico de 90; se true, então chamamos um comando do sistema (echo).

    
por 16.03.2017 / 02:45