在doube引号中替换逗号

时间:2018-02-16 09:13:40

标签: csv unix comma double-quotes

我有一个csv文件,分隔符是','。有一个双引号的字符串列,在双引号之间有一个','。

样品如下。 输入csv文件:

1,你好,“欢迎,在这里”
2,零, “没什么,这里的”

我希望它像 输出csv文件:

1,您好,欢迎光临
2,零,没有在这里

1 个答案:

答案 0 :(得分:0)

你只显示了2个示例行,已经变得危险了。 如果您确定某个字段中有双引号,则可以尝试

echo '1,Hello,"Welcome, Here"
2,Zero,"Nothing,Here"' | sed -r 's/"(.*),(.*)"/\1\2/'

这个解决方案没有和“Nothing”和“Here”之间的空格,似乎是一个隐藏的要求。 用“<需要”空格替换','可以用

替换
echo '1,Hello,"Welcome, Here"
2,Zero,"Nothing,Here"' | sed -r 's/"(.*), *(.*)"/\1 \2/'