linux命令 根据某一字段去掉txt中重复的数据

前提:

文档为格式化好的数据。比如一行是一个json。

判断总共有多少行数据:

grep No f.txt | wc -l

查询重复数据有多少行:

grep No f.txt | sort -u | wc -l

找到重复的那行数据:(如果每行的json数据大,可忽略此操作)

grep No f.txt |sort|uniq -d

去除重复数据:

awk -v No=2 '!seen$No++' f.txt > output.txt

去重命令的工作原理是:

  • awk:文本处理工具。

  • -v No=2:设置awk变量No为2,这是我们要去重的列号。

  • !seen[$No]++:前缀运算符!用来判断数组seen中是否存在当前行的第No列的值。如果不存在,则执行后面的操作,即打印当前行。

  • input.txt:输入文件名。

  • > output.txt:将结果输出到output.txt文件中。

请确保你的输入文件是以空格或者制表符分隔的,并且列号是从1开始计数的。如果列与列之间的分隔符是其他字符,可以通过-F选项来指定分隔符。

相关推荐
呉師傅13 小时前
关于惠普LaserJet1018打印机在Windows11上打印颜色偏淡的问题解决方法
运维·服务器·windows·计算机外设·电脑
九硕智慧建筑一体化厂家13 小时前
楼宇智能优选!KNX总线系统打造稳定高效智能控制体系
运维·人工智能·笔记·智慧城市
正在走向自律13 小时前
数采与虚拟仿真技术在电力智能运维赛道的实践探索
运维·数据采集·虚拟仿真·技能竞赛·人机协同·惯性动捕·电力智能运维
qq_113601493513 小时前
CopyEscape Docker容器逃逸(CVE-2026-17106)
运维·docker·容器
修先生13 小时前
WisQuery 一套开箱即用、可 Docker 一键部署的 智能问数 + 知识库 + 智能问答 一体化平台
运维·docker·容器
Rain的Java大神之路14 小时前
Docker搭建Redis集群完全指南
java·运维·redis·后端·docker·容器·架构
智购科技无人售货机厂家14 小时前
2026自动售货机远程运维平台设计:从设备诊断到预测性维护的工程实践~YH
运维·python·物联网·架构·django·scikit-learn
Raas10014 小时前
大模型网关和API网关区别是什么?MAI Gateway统一AI流量治理
java·大数据·运维·人工智能·gateway·企业级·ai网关
Dovis(誓平步青云)14 小时前
番茄钟真正难的不是倒计时:启动、暂停、重置与页面销毁
android·服务器·前端
吹什么轩14 小时前
Linux系统复习:权限的解析
linux·运维·服务器