仅在csv文件,正则表达式中删除整数周围的双引号?

时间:2014-01-28 18:05:28

标签: regex csv sed awk gnu

我有一个csv文件,其字段如下:

"231444","344","some string","222"  

我一直试图从csv中的整数中删除双引号,但没有成功。我尝试过一些sed,并尝试awk / gawk,但我真的遇到了这个问题。预期的产出将是:

231444,344,"some string",222  

没有负整数。任何帮助将不胜感激,并提前感谢您。

2 个答案:

答案 0 :(得分:3)

您的正则表达式为/"(\d+)"/g,应替换为\1

不知道sed,我认为它是这样的(基于Wikipedia example):

sed 's/"(\d+)"/\1/g' inputFileName > outputFileName

Regex 101 Demo

答案 1 :(得分:3)

仅供参考。这也可以使用Perl的一个衬垫来完成。

的Linux:

perl -i.bak -p -e 's/"(\d+)"/$1/g' input.txt

供参考,Windows(单引号不起作用):

perl -i.bak -p -e "s/\"(\d+)\"/$1/g" input.txt