You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Sed正则忽略行尾空字段,修正CSV格式错误?

解决CSV字段双引号修正问题

要修正客户名字段的双引号错误,同时保留行尾的,""空字段,你可以用临时标记替换法,兼容性强且不依赖sed的高级正则特性:

sed -E 's/,""$/,TEMP_MARKER/g; s/"{2}/"/g; s/,TEMP_MARKER/,""/g' file.csv

原理说明:

  • 第一步:把行尾的,""替换成临时标记,TEMP_MARKER,避免后续替换操作影响它
  • 第二步:把所有剩余的""替换成",这会自动处理客户名字段的""Chandler, Huang Kun Kwek"",将其修正为"Chandler, Huang Kun Kwek"
  • 第三步:把临时标记换回原来的,"",恢复行尾空字段的正确格式

如果你的sed版本支持PCRE(比如GNU sed 4.2及以上),也可以直接用正向前瞻正则,精准跳过行尾的"":

sed -E 's/"{2}(?!$)/"/g' file.csv

这个正则的逻辑是:仅匹配后面不是行尾的连续双引号,这样行尾的""会被自动排除,不会被修改。

内容的提问来源于stack exchange,提问作者C B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:02:51