我是UNIX / Shell Scripting的新手我正试图从众多服务器中提取磁盘使用情况。所以我要做的是制作一个运行的shell脚本 df -g> diskusage.txt获取下表并从下面提取**数据
Filesystem Size Used Avail Use% Mounted on
/dev/ibm_lv 84.00 56.81 33% 637452 5% /usr/IBM
/dev/apps_lv 10.00 9.95 **1%** 5 1% /usr/apps
/dev/upi_lv 110.00 85.85 **22%** 90654 1% /usr/app/usr
user08:/backup 2000.00 1611.22 20% 177387 1% /backup
根据服务器的不同,有更多的文件系统,但我只想要/ usr / apps / usr,/ usr / apps磁盘使用情况,无论文件系统的数量是多少。 (/ usr / apps / usr,/ usr / apps总是位于最后三行)
我很确定有比阅读最后3行简单的方法 - >无视最后一行 - >在每一行上搜索%。
如果有更好的方法来提取这些数据,请告诉我。
答案 0 :(得分:0)
df -g | awk '/\/usr\/app/ {print $4}'
这可以获得可用的百分比,但它并没有告诉你哪一个与哪个相关。您始终可以在输出中包含mountpoint,但是您仍然需要进行一些解析以获取数字,如下所示:
while read avail mount; do
echo "$mount has $avail available"
done < <(df -g | awk '/\/usr\/app/ {print $4, $NF}')