我需要仅显示已使用特定百分比的磁盘,例如显示已占用空间 50% 的磁盘,但不显示已占用空间 33% 的磁盘。现在我知道命令 df -h,但我不知道如何指定百分比。有没有办法在终端中执行此操作,还是我需要为其编写脚本?
答案1
您可以使用grep
它来简化几乎任何命令的输出。
如果你想仅有的显示具有 50% 甚至 5*% 的数据(例如 55%),您可以像这样使用 grep:
df -h | grep "50%"
或者显示所有 50% 左右的数值,比如 51 或 55,你可以运行以下命令:
df -h | grep "5.%"
展示任何东西大于或等于50%,请运行以下命令:
df -h | egrep "10.%|9.%|8.%|7.%|6.%|5.%"
答案2
因为你想做一个数字比较而不是词汇比较,我建议使用类似perl
或awk
例如
df -h | awk 'NR==1 || substr($5,1,length($5)-1) > 33'
在哪里
NR==1
始终打印标题行substr($5,1,length($5)-1)
%
删除第五个字段的尾部符号- 将结果与数值进行比较
33
为了使其更加灵活,您可以将所需的截止值作为变量传递,例如
df -h | awk -v val=33 'NR==1 || substr($5,1,length($5)-1) > val'