2012-09-25 101 views
0

我真的很新UNIX/Shell脚本我试图从众多服务器中提取磁盘使用情况。所以我想要做的是使运行 DF -g> diskusage.txt获得下面的表格,并从下面如何从文本文件表中提取特定信息UNIX/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 

根据服务器上提取**数据,有多个文件shell脚本系统,但我只想要/ usr/apps/usr,/ usr/apps磁盘使用情况,而不考虑文件系统的数量。 (/ usr/apps/usr,/ usr/apps将始终位于最后三行)

我很确定有比读取最后3行更简单的方法 - >忽略最后一行 - >搜索%线。

如果有更好的方法来提取这些数据,请让我知道。

回答

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}') 
+0

我得到'语法错误源代码行是1'这个错误是什么意思? – user1516649

相关问题