我正在尝试/dev/sda
以以下格式获取输出。
20%(50 GB 中使用了 10 GB)。
我尝试使用:
df -h /dev/sda3|awk 'NR==2'|awk '{print $5}'
但它给出了百分比。我尝试使用 echo 和多个 awk 语句,但命令不起作用或没有给出所需的输出。
答案1
尝试
df -B1G /dev/sda1|awk 'NR==2{print $5,"("$3,"GB used out of",$2,"GB)."}'
-B1G
强制输出以 GB 为单位。之后,只需删除您想要的字段即可。
稍微漂亮的代码,相同的结果:
df -B1G /dev/sda1|awk 'NR==2{printf "%s (%d GB used out of %d GB).\n",$5,$3,$2}'
sed
版本:
df -B1G /dev/sda1|sed -n 's!^/[^ ]* *\([0-9]*\) *\([0-9]*\) *[0-9]* *\([0-9%]*\).*!\3 (\2 GB used out of \1 GB).!p'
答案2
您可以尝试使用以下命令
df -Ph /dev/sda1|awk 'NR >1{print $(NF-1)"("$3" " "used out of " " " $2")"}'
命令
df -Ph /dev/sda1|awk 'NR >1{print $(NF-1)"("$3" " "used out of " " " $2")"}'
31%(140M used out of 488M)