bash脚本,计算使用的磁盘空间百分比给定分区(bash script that computes

2019-10-19 14:51发布

我有一个计算给定分区中使用的磁盘空间百分比bash脚本:


    df -k $devname | grep -v ^File | awk '{printf ("%i",$3*100 / $2); }

它在一个分区长的名字,因为名字推动其他列到下一行,我怎么解决这个问题不行?

df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup60-ROOT
                     2865493440 2222006740 497927968  82% /
tmpfs                 30913808         0  30913808   0% /dev/shm
/dev/sda1               495844    103347    366897  22% /boot

Answer 1:

-P为(便携)选项df使用的输出格式符合POSIX和保持一切都在一行。 您还可以简化awk使用部分sel



Answer 2:

取而代之的是,分析整个“表”的,你可以直接输出使用百分比使用--output参数(见man 1 df了解详细信息):

$ df -k --output=pcent /dev/sda1
Use%
 13%

这应该是一个更容易过滤。

通过创建与阵列例如readarray在击4:

$ readarray -t -s 1 percentage < <(df -k --output=pcent /dev/sda1)
$ echo "${percentage[0]// /}"
13%

分配的输出df由线阵列行:

$ percentage=($(df -k --output=pcent /dev/sda1))
$ echo "${percentage[1]}"
13%


文章来源: bash script that computes used diskspace percentage for given partition
标签: linux bash