Как суммировать столбец с $ и ',' '.' символы? командная строка bash? - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть файл, и я хочу использовать что-то вроде команды «Cat» для этого файла, чтобы распечатать сумму столбца списка.

Лучшее, что я могу сделать, это

cat owe.txt  | awk '{sum+=$2 ; print $0} END{print "sum=",sum}'

Но это не работает с символами '$' и ','

Например, столбец выглядит следующим образом

Mike  $1.00
Mason $1,000,000.00
Tyler $100,000.00
Nick  $0.10

Результат

sum=$1,100,001.10

1 Ответ

0 голосов
/ 18 ноября 2018

Вам нужно убрать $ и , для обработки ... о, и не используйте cat, если в этом нет необходимости.

awk '{sum+=gensub(/[$,]/,"","g",$2) ; print $0} END{printf "sum=%8.2f\n",sum}' owe.txt
Mike  $1.00
Mason $1,000,000.00
Tyler $100,000.00
Nick  $0.10
sum= 1100001.10

В последней части, возвращая разделители 1000, я оставляю вам упражнение, посмотрите подход здесь: Печать тысяч разделенных поплавков с помощью GAWK

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...