Linux

在一行linux命令中顯示總和使用的GB和百分比

  • December 30, 2019

我正在嘗試以/dev/sda以下格式獲取輸出。

20%(在 50 GB 中使用了 10 GB)。

我嘗試使用:

df -h /dev/sda3|awk 'NR==2'|awk '{print $5}'

但它給了我百分比。我嘗試使用 echo 和多個 awk 語句,但命令不起作用或沒有提供所需的輸出。

嘗試

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'

您可以嘗試使用以下命令

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)

引用自:https://unix.stackexchange.com/questions/559266