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

如何通过Linux CLI提取CSV文件指定列并忽略其余列

解决CSV提取指定列的问题

嘿,这个问题我太懂啦!你之前的命令没达到预期,核心原因是awk默认以空格作为字段分隔符,但你的CSV数据是用逗号分隔的,所以awk根本没识别对每一列的位置,自然提取不到正确内容,更别说你还需要第9列啦~

给你两种简单好用的解决方案:

方法一:用awk指定逗号分隔符

直接在awk里加上-F ','参数告诉它用逗号分割字段,然后打印你需要的第1、2、3、4、5、9列,记得用逗号把这些列连起来,保持CSV格式:

awk -F ',' '{print $1","$2","$3","$4","$5","$9}' file.csv > newfile

测试你给的示例数据,输出结果会是:

123,B006195,T,O,INDIVIDUAL,NEW
12,C06195,T,O,INDIVIDUAL,NEW
12345,B00619,T,O,IND,OLD

方法二:用cut命令更简洁

如果只是提取列,cut命令可能更直观,-d ','指定分隔符,-f 1-5,9表示提取第1到5列,再加第9列:

cut -d ',' -f 1-5,9 file.csv > newfile

这个命令的输出和上面awk的结果完全一致,操作起来更省事~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:51:37