首页 > 解决方案 > 如何在 OEL 中使用 shell 获取挂载点 Use%

问题描述

我想获得安装点的使用百分比。我尝试过关注,但在某些主机上我得到了 Use% 但在某些主机上我得到了 Avail

df -hT /u01/data/backup | awk '{ print $5 }' | egrep -e % | cut -d "%" -f 1

有没有更好的办法

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              38G   18G   19G  48% /
tmpfs                  30G     0   30G   0% /dev/shm
/dev/sda1             200M  276K  200M   1% /boot/efi
/dev/sdc2              22G  6.8G   14G  34% /u01/app/oracle/tools
/dev/mapper/vg_domain-lv_domain
                       50G  1.2G   46G   3% /u01/data/domains
/dev/mapper/vg_middleware-lv_middleware
                       24G  5.6G   17G  26% /u01/app/oracle/middleware
/dev/mapper/vg_jdk-lv_jdk
                      3.9G  402M  3.3G  11% /u01/jdk
/dev/mapper/vg_suite-lv_suite
                       50G   52M   47G   1% /u01/app/oracle/suite
132.240.151.43:/interface
                      600G   55G  546G  10% /interface

标签: bashshellunix

解决方案


awk可以匹配,%从输出中删除字符并将输出限制为Use%列的值。

与主机无关的通用版本可能是:

df -hT|awk '{for (i=1;i<=NF;i++)if ($i~/Use%/){u=i}};NR>1{sub(/%/,"",$u);print $u}'

这会在 中找到匹配Use%并捕获该字段编号的字段u。然后,如果记录号 ( NR) 大于 1,则将u字符串中的百分比字符sub替换为空字符串并u打印 的值。


推荐阅读