как правильно добавить awk при использовании запятых в качестве разделителей групп цифр - PullRequest
2 голосов
/ 01 сентября 2011

Я пытаюсь использовать awk для суммирования чисел из выходного файла, но, похоже, awk не понимает запятые, разделяющие тысячи.

Например,

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

on

foo 70.31
foo 125.00
foo 1,750.00

возвращает

foos 196.31

Какой лучший / подходящий способ в awk добавить их правильно?

1 Ответ

5 голосов
/ 01 сентября 2011
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}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...