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

在Bash中解析含异常字符与格式问题的大型CSV文件

修复畸形CSV的Bash命令优化方案

针对1.5GB带错误换行的畸形CSV文件,优化后的Bash命令可以解决原命令的三个问题,同时高效处理大文件:

awk '
/^"\[\[/{
    found=1
    line=$0
    next
}
found{
    line=line $0
    if (/]]"$/) {
        gsub(/[[:space:]]+/, " ", line)
        gsub(/"\[\[ /, "\"[[")
        gsub(/ ]]"/, "]]\"")
        gsub(/ /, ",", line)
        print line
        found=0
    }
}' Malformed_csv_Abridged.csv

解决的核心问题

  • 处理所有数据实例:移除原命令中的exit,改为匹配到]]"后重置found标记,遍历文件处理所有"[[...]]"块。
  • 避免无关空格转逗号:仅对"[[...]]"内部的内容进行处理,块外的空格不会被修改,杜绝不必要的逗号插入。
  • 消除括号旁多余逗号:通过专门的替换规则,先移除[[后和]]前的空格,再将其余空格替换为逗号,彻底解决括号旁的冗余逗号问题。

命令逻辑拆解

  1. 匹配起始行:当行以"[[开头时,标记开始处理并初始化内容行。
  2. 拼接错误换行:将后续行持续拼接到当前内容行,消除错误换行导致的内容拆分。
  3. 处理完整块:当行以]]"结尾时,完成当前块的处理:
    • 压缩所有连续空白为单个空格;
    • 清理[[和]]旁的空格;
    • 将剩余空格替换为CSV分隔符逗号;
    • 输出处理后的完整CSV行,重置标记准备下一个块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:45:26