如何通过“df -k”命令仅打印“use%”列以及所有 use% 值

如何通过“df -k”命令仅打印“use%”列以及所有 use% 值

我想打印 Use% 列以及“df -k”命令中的所有 % 值。我想将所有这些值与变量值进行比较。

答案1

 df -kP | awk 'NR>1 && $5+0 >= 90'

将列出大于或等于 的条目(采用df(with )的可移植输出格式,-P也保证所有条目都在一行上)。是强制进行数字比较(否则将被视为小于)。use%90+0100%90

答案2

使用 GNU df - 未在 aix 上测试

您可以在不解析输出的情况下获得 Use% 值df

df --output=pcent

答案3

这是你想要的吗?

df -k|sed 's/  */\t/g;s/%//'|cut -f 5

然后,您可以删除第一行并比较这些值,但此时您没有更多的设备关系。

[编辑:]所以我是对的,你需要这个设备。所以你想要这样的东西:

for item in `df -k|sed 's/  */_/g;s/%//'|cut -d_ -f 1,5`; do
  if (( ${item#*_} > 90 )); then
    echo ${item%_*} has ${item#*_}%
  fi
done

这是 bash 语法。根据您的需求进行调整。

相关内容