在一行linux命令中显示总和已用GB及其百分比

在一行linux命令中显示总和已用GB及其百分比

我正在尝试/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)

相关内容