替换双引号内的逗号
replace comma within a doube quotes
我有一个 csv 文件,分隔符是 ','。有一个字符串列,它是双引号并且在双引号之间有一个 ','。
示例如下。
输入 csv 文件:
1,你好,"Welcome, Here"
2,零,"Nothing,Here"
我希望它像
输出 csv 文件:
1,您好,欢迎来到这里
2,零,这里什么都没有
你只展示了 2 行示例,它已经变得危险了。
当你确定确实有一个带双引号的字段时,你可以试试
echo '1,Hello,"Welcome, Here"
2,Zero,"Nothing,Here"' | sed -r 's/"(.*),(.*)"//'
当您在 "Nothing" 和 "Here" 之间有一个 space 时,此解决方案不起作用,这似乎是一个隐藏的要求。
可以用
替换 ',' 和 ', '(使用 space)
echo '1,Hello,"Welcome, Here"
2,Zero,"Nothing,Here"' | sed -r 's/"(.*), *(.*)"/ /'
我有一个 csv 文件,分隔符是 ','。有一个字符串列,它是双引号并且在双引号之间有一个 ','。
示例如下。 输入 csv 文件:
1,你好,"Welcome, Here"
2,零,"Nothing,Here"
我希望它像 输出 csv 文件:
1,您好,欢迎来到这里
2,零,这里什么都没有
你只展示了 2 行示例,它已经变得危险了。 当你确定确实有一个带双引号的字段时,你可以试试
echo '1,Hello,"Welcome, Here"
2,Zero,"Nothing,Here"' | sed -r 's/"(.*),(.*)"//'
当您在 "Nothing" 和 "Here" 之间有一个 space 时,此解决方案不起作用,这似乎是一个隐藏的要求。 可以用
替换 ',' 和 ', '(使用 space)echo '1,Hello,"Welcome, Here"
2,Zero,"Nothing,Here"' | sed -r 's/"(.*), *(.*)"/ /'