抱歉,如果已经以某种形式发布。 我找不到任何能完全回答我问题的内容。
我是awk,sed和bash的新手。我需要为一个课程项目弄清楚这一点。
我有一个用逗号分隔的文本文件,所有数据都在双引号内。
示例片段:
,"CHADWICK R GORE","C00538975","2012","$10,000.00",,"$10,000.00",,,"$5,000.00",,,"$15,000.00",,,,,,,,,,,,,"$15,000.00","$15,000.00",,,,
我需要用金钱从字段中删除美元符号和逗号。 我用sed来做。 我的sed代码:
s/"\$\([^,"]*\),/"$\1/g
s/"\$\([^"]*\)"/\1/g
这似乎是错误的,并且如果数字中有两个,则不会删除所有逗号。
任何帮助将不胜感激!感谢
答案 0 :(得分:1)
这条线完成了这项工作:
awk -F'"' -v OFS="\"" '{for(i=1;i<=NF;i++)if($i~/^\$[0-9.,]+$/)gsub(/[$,]/,"",$i)}1'
示例文本的输出是:
,"CHADWICK R GORE","C00538975","2012","10000.00",,"10000.00",,,"5000.00",,,"15000.00",,,,,,,,,,,,,"15000.00","15000.00",,,,