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选项来指定分隔符。

相关推荐
liulilittle3 小时前
论分布式系统的半开闭问题
服务器·网络·分布式·系统架构·竞态
cyforkk4 小时前
Vercel 绑定自定义域名极简配置指南
服务器·前端·网络
Ai拆代码的曹操4 小时前
K8s Pod Pending 逐层排查:从 FailedScheduling 到 PVC StorageClass 不存在的实战记录
java·linux·kubernetes
Yang96115 小时前
探索无线新视界:鼎讯信通DXMP系列频谱仪模块深度剖析
运维·网络
wangbing11255 小时前
JPA下自定义主键
java·linux·服务器
杨了个杨89825 小时前
Docker Compose 简介及应用
运维·docker·容器
bush46 小时前
正点原子imx6ull-uboot,奇怪的问题
linux·学习
Urbano6 小时前
卫衣生产工艺科普与智能自动化设备应用解析
大数据·运维·人工智能
dddwjzx6 小时前
嵌入式Linux C应用编程——Framebuffer应用编程
linux·嵌入式