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

使用AWK处理CSV文件:按第5列去重保留首次出现行的代码修复

错误原因

你编写的代码存在两处问题:

  1. 多余的NF--语句:NF是awk的内置变量,代表当前行的字段总数,执行NF--会直接删除每行的最后一列(也就是你用来去重的第5列Translation),导致输出内容不符合预期。
  2. 未单独处理表头行:虽然本次场景下表头的第5列取值不会和数据行重复,但通用场景下单独处理表头可以避免特殊内容触发异常逻辑。

修正后代码

awk 'BEGIN{FS=OFS=","} NR==1{print; next} !h[$5]++' infile.csv > outfile.csv

逻辑说明

  • BEGIN{FS=OFS=","}:预先设置输入、输出的字段分隔符均为逗号,逻辑更规范清晰
  • NR==1{print; next}:识别到第一行表头时直接输出,跳过后续去重判断
  • !h[$5]++:基于哈希表的去重逻辑,只有第5列第一次出现时才会输出对应行,完全匹配你的去重需求,最终输出和你给出的预期结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:45:03