AWKを小数点一桁まで

AWKを小数点一桁まで

現在のスクリプトは、小数点以下の桁数の多い出力を提供します。出力が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です。これを希望の小数点以下の桁に変更できます。

おすすめ記事