如何以特定格式显示挂载的可用磁盘空间?

如何以特定格式显示挂载的可用磁盘空间?

我想以以下xx%格式显示安装的可用磁盘空间,

例如:

sh-3.1$ df -h /opt/Application/Disk1/
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg00-LogVol09
                       57G   33G   22G  60% /opt/Application/Disk1/

我只想显示“%60”

答案1

您可以尝试以下解决方法:

df -h /opt/Application/Disk1/ | awk '{print $4}' | tail -1

这里awk '{print $4}'将打印输出中第 4 列出现的内容并tail -1仅过滤掉最后一行。

答案2

我想以 xx% 格式显示挂载的可用磁盘空间

...

我只想显示“%60”

你给出的例子不太符合这个问题,因为可用的本例中的磁盘空间为 40%。如果您只想过滤掉用过的磁盘空间,你应该选择 Eugene S 的答案。如果你想表达可用的磁盘空间百分比,您可以使用它的修改版本。像这样:

df /opt/Application/Disk1/ | awk '{print (100 -$5 )}' | tail -1 | sed 's/^/%/g'

其中awk '{print (100 -$5 )}' 减去用过的磁盘空间(在 的正常输出中位于第 5 列df)从 100 开始,结果是可用的磁盘空间。尾随sed 's/^/%/g'只是在输出前面添加符号 %。要在输出后添加 %,请使用sed 's/$/%/g'

答案3

#!/usr/bin/env python
import os, sys
st = os.statvfs(sys.argv[1])
free = st.f_bfree/st.f_blocks * 100
sys.stdout.write("%.f%%\n" % free)

相关内容