RHEL版本5.5(Tikanga),df --total选项

时间:2014-12-10 15:41:22

标签: linux awk rhel

我有一台RHEL(Redhat Enterprise Linux)v6.5(Santiago)服务器。在此服务器上,如果我执行df -help,则有可用选项列表。我对选项--total感兴趣 但是有一个旧版本的RHEL(v5.5)。其中没有--total选项。

我的问题是,我有这样的命令:

df -h --total  | grep total | awk 'NR==1{print$2}+NR==1{print$3}+NR==1{print$4}+NR==1{print$5}'

将输出显示为

62G
39G
21G
66%

哪里

62G is Total size of the Disk
39G is Used
21G is remaining
61% Total usage %

上面的命令在RHEL v6.5中运行正常。但在RHEL v5.5中失败,因为它没有df命令的--total选项。

当我在RHEL v5.5上运行相同的命令时,我得到以下错误:

df: unrecognized option `--total'
Try `df --help' for more information.

那么有一个命令可以通过以下方式给我输出:

Total Disk Space
Used  Space
Remaining Disk space
Usage % 

前:

62G
39G
21G
66%

1 个答案:

答案 0 :(得分:3)

您必须自己完成计算工作。

像这个awk脚本应该有用。

$ cat dftotal.awk
BEGIN {
    map[0] = "K"
    map[1] = "M"
    map[2] = "G"
    map[3] = "T"
}
function fmt(val,    c) {
    c=0
    while (val > 1024) {
        c++
        val = val / 1024
    }
    return val map[c]
}

{
    for (i=2;i<5;i++) {
        sum[i]+=$i
    }
}

END {
    print fmt(sum[2]) ORS fmt(sum[3]) ORS fmt(sum[4])
    print ((sum[3] / sum[2]) * 100) "%"
}
$ df -P | awk -f dftotal.awk