現在のスクリプトは、小数点以下の桁数の多い出力を提供します。出力が1つの位置だけを占めるようにする方法はありますか?
# cat sample
HDD Used: 15.0223T
HDD Total: 55.9520T
# cat sample | awk ' /HDD Total/ { hdd_total=$NF }
/HDD Used/ { hdd_used=$NF }
END {
used=hdd_total-hdd_used
print "cal =" used}'
電流出力
cal =40.9297
希望の出力
cal =40.9
--->小数点を1桁だけ維持する
これでエラーが発生しました。
# isi storagepool list -v| grep -i 'HDD Total:' | awk '{print "HDD Total=%.1f", $NF -1 " TB" }'
HDD Total=%.1f 54.952 TB
#cat isistorage1
7.332T n/a (R) 13.01% (T)
# cat isistorage1 | awk '{ print "Snapshot USED=", $1}'
Snapshot USED= 7.332T
ベストアンサー1
printf "cal =%.1f\n", used
印刷タイプ修飾子コントロールと領域があるため使用できます。
これが意味するのは、floatの後に小数点1桁だけが印刷されるということ.1f
です。これを希望の小数点以下の桁に変更できます。