我想以以下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)