当逗号用作数字组分隔符时,如何正确添加awk

时间:2011-09-01 03:27:40

标签: bash awk

我正在尝试使用awk从输出文件中添加数字,但似乎awk不理解将数千个分开的逗号。

例如,运行

awk '{if($1=="foo") {SUM+=$2}}END{print "foos ",SUM}'

foo 70.31
foo 125.00
foo 1,750.00

返回

foos 196.31

awk中正确添加这些内容的最佳/适当方式是什么?

1 个答案:

答案 0 :(得分:5)

awk '{if($1=="foo") {gsub(",", "", $2); SUM+=$2}}END{print "foos ",SUM}'

或者,如果你不想破坏$2

awk '{if($1=="foo") {TERM=$2; gsub(",", "", TERM); SUM+=TERM}}END{print "foos ",SUM}'