我想通过 if 条件将 awk 结果与特定值进行比较

我想通过 if 条件将 awk 结果与特定值进行比较

我在下面的命令中得到了结果。它们是我想要与阈值进行比较的驱动器容量。所以我想将每一行与特定值进行比较。如果大于则遵循某些条件。

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

该命令的输出如下:

36
0
19
36
36

答案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 进行比较;如果为 true,则我们调用系统命令(echo)。

相关内容