我在TextWrangler上使用grep来查找这种类型的字符串:
4,600.00我的regex命令如下:
\d.\d{3}.\d{2}它似乎正确地找到了字符串。我希望将字符串4,600.00替换为4600.00,因为我希望将数据保存在.csv文件中。如何从找到的每个数字中删除逗号?
发布于 2012-08-09 20:50:41
搜索:(\d{1,3}),(\d{1,3})\.(\d{1,2})
替换:\1\2.\3
在TextWrangler中工作。
发布于 2012-08-09 19:48:32
awk oneliner:
awk --re-interval '{x=gensub(/([0-9]{1,3}),([0-9]{3}\.[0-9]{2})/,"\\1\\2","g");print x}' file测试:
kent$ awk --version|head -1
GNU Awk 3.1.6
kent$ echo "foo,bar,blah,46,000.00,some,more"|awk --re-interval '{x=gensub(/([0-9]{1,3}),([0-9]{3}\.[0-9]{2})/,"\\1\\2","g");print x}'
foo,bar,blah,46000.00,some,more发布于 2012-08-09 20:40:40
使用sed的一种方式
sed -r 's/([0-9]{1,3}),([0-9]{3}\.[0-9]{2})/\1\2/g' file.txt您可以添加-i标志来将更改直接写入文件。
https://stackoverflow.com/questions/11880651
复制相似问题