/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'