Я хочу сравнить свой результат awk с конкретным значением с помощью условия if

У меня результат в команде ниже. Это емкость дисков, которую я хочу сравнить с пороговым значением. Поэтому я хочу сравнить каждую строку с определенным значением. Если больше, то следует какое-то условие.

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

Вывод этой команды выглядит следующим образом:

36
0
19
36
36
0
16.03.2017, 03:37
1 ответ

Просто сделайте все это в 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).

0
28.01.2020, 04:47

Теги

Похожие вопросы