【发布时间】:2021-03-18 03:19:54
【问题描述】:
我需要清理列出一些数字的 CSV。对于 4 位及以上的数字,它用逗号在双引号中给出数字。我需要删除这种类型的逗号。
到目前为止,我得到了这个:
sed 's/"[0-9]*\,[0-9]*"/"idk"/g'
除了其他逗号之外,它成功地识别出我正在寻找的逗号。
example,134,"idk",0.91%,8.0
example,96,"idk",2.62%,6.9
example,89,367,3.68%,5.8
我如何告诉 sed 我只需要从匹配查询中删除逗号?
编辑:抱歉,预期的输出只是删除逗号。
输入:example,89,"1,456",3.68%,5.8
输出:example,89,"1456",3.68%,5.8
【问题讨论】:
-
您在寻找
sed 's/\("[0-9]*\),\([0-9]*"\)/\1\2/g'吗? (逗号不用反斜杠,在正则表达式中没有特殊含义。)