我有一个文件,我想在该文件上使用“ 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
答案 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