0

我对 UNIX/Shell 脚本非常陌生,我正在尝试从众多服务器中提取磁盘使用情况。所以我想做的是制作一个运行 df -g > diskusage.txt 的shell脚本来获取下表并从下面提取**数据

   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 行更简单的方法 -> 忽略最后一行 -> 在每一行上搜索 % 。

如果有更好的方法来提取这些数据,请告诉我。

4

1 回答 1

0
df -g | awk '/\/usr\/app/ {print $4}'

这为您提供了可用的百分比,但它并没有告诉您哪个与哪个相配。你总是可以在输出中包含挂载点,但是你仍然需要做一些解析才能得到数字,如下所示:

    while read avail mount; do 
       echo "$mount has $avail available"
    done < <(df -g | awk '/\/usr\/app/ {print $4, $NF}')
于 2012-09-25T20:04:07.287 回答