如何用$和',''求和符号? bash命令行?

时间:2018-11-17 23:55:09

标签: bash awk

我有一个文件,我想在该文件上使用“ 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 :(得分:2)

您需要剥离$,进行处理...哦,如果不需要,请不要使用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个分隔符,我作为练习留给您,请参见此处的方法:Printing thousand separated floats with GAWK