AWK - 2つの列を掛け、結果に末尾のゼロを追加します。

AWK - 2つの列を掛け、結果に末尾のゼロを追加します。

次のCSVファイルがあります。

Row 1,1,4.50,
Row 2,8,0.30,
Row 3,14,0.30,
Row 4,2,2.50,
Row 5,20,0.30,

2番目の列と3番目の列を掛け、結果を4番目の列に追加したいと思います。

この単純なawkコマンドを取得しました。

awk -F',' '{print $1 "," $2 "," $3 "," $2 * $3}' file

私は得る:

Row 1,1,4.50,4.5
Row 2,8,0.30,2.4
Row 3,14,0.30,4.2
Row 4,2,2.50,5
Row 5,20,0.30,6

[N.NN]のように最後のライブラリの出力形式を指定する方法はありますか?

そのため、次のように出力されます。

Row 1,1,4.50,4.50
Row 2,8,0.30,2.40
Row 3,14,0.30,4.20
Row 4,2,2.50,5.00
Row 5,20,0.30,6.00

ベストアンサー1

printfたとえば、またはを使用してsprintf出力形式を指定できます。

$ awk -F, '{printf "%s%.2f\n", $0, $2*$3}' file
Row 1,1,4.50,4.50
Row 2,8,0.30,2.40
Row 3,14,0.30,4.20
Row 4,2,2.50,5.00
Row 5,20,0.30,6.00

または

$ awk -F, '{print $0 sprintf("%.2f", $2*$3)}' file
Row 1,1,4.50,4.50
Row 2,8,0.30,2.40
Row 3,14,0.30,4.20
Row 4,2,2.50,5.00
Row 5,20,0.30,6.00

おすすめ記事