我有一个csv文件,分隔符是','。有一个双引号的字符串列,在双引号之间有一个','。
样品如下。 输入csv文件:
1,你好,“欢迎,在这里”
2,零, “没什么,这里的”
我希望它像 输出csv文件:
1,您好,欢迎光临
2,零,没有在这里
答案 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/'