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

如何使用sort命令对大文件按指定列实现排序去重

Linux sort命令按第二列排序去重操作指南

核心执行逻辑

你需要对CSV格式的大文件按第二列去重,相同第二列的内容仅保留首次出现的行,具体操作如下:

基础操作命令

sort -t',' -k2,2 -u 输入文件.csv -o 输出结果.csv

参数说明

  • -t',':指定字段分隔符为英文逗号,匹配CSV文件的列拆分规则
  • -k2,2:限定排序、去重的判断范围仅为第2列,避免第1、3列内容参与逻辑判断
  • -u:去重标识,第二列取值相同的多行数据仅保留排序后出现的第一行
  • -o 输出结果.csv:指定输出路径,禁止直接将结果重定向到原文件,避免数据丢失

600万行大文件优化方案

如果执行基础命令时出现内存不足、处理速度慢的问题,可以添加参数调整资源占用:

sort -t',' -k2,2 -u -S 4G --parallel=8 输入文件.csv -o 输出结果.csv

优化参数说明

  • -S 4G:设置排序缓冲区大小为4G,可根据服务器实际可用内存灵活调整,缓冲区越大排序速度越快
  • --parallel=8:开启8线程并行排序,可根据CPU核心数调整,大幅提升大文件处理效率

效果验证

对你给出的示例输入执行上述命令后,第二列取值为000-00-0000的两行中会保留首次出现的CONT,000-00-0000,GRAM,删除后续的MICH,000-00-0000,EVINS,完全匹配你需要的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:06:05