1行のLinuxコマンドで合計使用されたGBとその割合を表示します。

1行のLinuxコマンドで合計使用されたGBとその割合を表示します。

/dev/sda次の形式で出力を取得しようとしています。

20%(50GBのうち10GB使用)

私は以下を使用しようとしています:

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'

おすすめ記事