我正在尝试使用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中正确添加这些内容的最佳/适当方式是什么?
答案 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}'