У меня результат в команде ниже. Это емкость дисков, которую я хочу сравнить с пороговым значением. Поэтому я хочу сравнить каждую строку с определенным значением. Если больше, то следует какое-то условие.
df -kP | awk '{print $5}'| sed 's/%//g'|sed -n '1!p'
Вывод этой команды выглядит следующим образом:
36
0
19
36
36
Просто сделайте все это в awk:
df -kP | awk 'NR > 1 { gsub("%","",$5); if (0 + $5 > 90) { system("echo " $6 " is too high") }}'
Здесь мы манипулируем $5
, как и раньше, но используем gsub()
, чтобы убрать знак %
, NR > 1
, чтобы позаботиться о sed
, и, заставив $5 восприниматься как целое число, сравниваем его с магическим значением 90; если оно верно, то вызываем системную команду (echo).