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

命令行提取含引号/逗号的CSV前两字段并保留原格式

提取CSV前两个字段(保留原格式)的命令行解决方案

普通的awk -F,命令无法处理CSV字段内的逗号、转义双引号,会导致字段分割错误。以下是两种可靠的解决方案:

方案一:使用专门的CSV工具 csvcut

csvcut 是 csvkit 工具集的一部分,原生支持CSV语法规则,能完美保留原字段格式(包括引号、空字段、字段内的逗号和转义引号):

  1. 先安装csvkit(以pip为例):
pip install csvkit
  1. 提取前两个字段:
csvcut -c 1,2 input.csv > output.csv

方案二:使用GNU awk(gawk)的FPAT特性

GNU awk的FPAT参数可以自定义字段匹配规则,精准识别CSV的字段格式:

gawk 'BEGIN{FPAT="([^,]+)|(\"([^\"]|\"\")*\")"}{print $1 (NF>=2 ? ","$2 : "")}' input.csv > output.csv
  • 该规则会匹配两种字段:不含逗号的普通字段,或被双引号包裹的字段(支持字段内的逗号和双写转义引号)
  • 当只有1个字段时,避免输出多余的逗号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:45:57