如何将列与$and';相加''';符号?bash命令行?

如何将列与$and';相加''';符号?bash命令行?,bash,awk,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 您需要剥离$和,以进行处理。。。哦,如果不需要的话,不要使

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

您需要剥离
$
以进行处理。。。哦,如果不需要的话,不要使用
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个分隔符返回,我留给您作为练习,请参见此处的方法:

您需要剥离
$
以进行处理。。。哦,如果不需要的话,不要使用
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个分隔符放回,我将作为练习留给您,请参见此处的方法:

感谢您的回答和练习!这不行!awk:调用未定义函数gensubWhat os/哪个版本的awk?我在Mac os上。awk版本20070501
awk'{gsub(/[$,]/,”“,$2);sum+=$2;print$0}END{printf“sum=%8.2f\n”,sum}'owe.txt
感谢您的回答和练习!这不行!awk:调用未定义函数gensubWhat os/哪个版本的awk?我在Mac os上。awk版本20070501
awk'{gsub(/[$,]/,“”,“,$2);sum+=$2;print$0}END{printf“sum=%8.2f\n”,sum}'owe.txt