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

在ksh脚本中移除CSV文件第14列的转义双引号

解决CSV第14列转义双引号问题

方法一:用awk处理(推荐)

awk处理CSV列更直观,能精准定位第14列替换转义引号:

BEGIN{FS=OFS=","} {gsub(/\\"/,"",$14); print} 你的文件名.csv
  • BEGIN{FS=OFS=","}:设置输入、输出的分隔符均为逗号
  • gsub(/\\"/,"",$14):仅在第14列中,把所有\"替换为空字符串
  • print:输出处理后的整行

这个命令只会修改第14列内容,其他列的双引号和格式完全保留,完美匹配需求。

方法二:用sed处理(兼容无GNU -E选项环境)

如果必须用sed,可通过循环替换限定仅处理第14列内的转义引号:

sed -e ':loop' -e 's/\(\([^",]*,"\)\{13\}"[^"]*\)\\\("\)/\1\2/' -e 't loop' 你的文件名.csv
  • :loop:定义循环标签
  • 正则部分:先匹配前13列内容,接着匹配第14列的开头引号和后续非引号字符,捕获到\"后将其替换为空
  • t loop:如果替换成功,回到循环标签继续处理,直到第14列内所有\"都被替换

验证效果

处理你给出的示例记录后,输出与期望一致:

"22-11-2020","ABCD",,"ABCD/4400","7644","NY","NY","LAX","ABC","16-09-2023","25-09-2023","02-10-2023","660802","993 14 X 8","28-09-2023",4,"CA",2586,"AA",65.850000,6895.200000,"01-11-2023"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 20:21:04