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

相关推荐
流星白龙5 分钟前
【Docker】9.Docker 镜像仓库实战
运维·docker·容器
朋友圈自动点赞工具12 分钟前
NAS游戏库自动下载新方案,Questarr部署教程
服务器·数据库·游戏·科技资讯
张洛闻Eren17 分钟前
云原生k8s【第六课】:K8s 访问控制
运维·docker·云原生·容器·kubernetes·k8s
苹果嘉尔1213836 分钟前
Linux系统编程——网络(TCP)
linux·运维·服务器
网安蟹佬霸40 分钟前
区块链与智能合约安全实战:从Solidity审计到DeFi漏洞深度剖析
运维·前端·网络·安全·自动化·区块链·智能合约
昌原的儿子LEO1 小时前
Linux进程知识点总结
linux·服务器·c语言·数据库
IT小白杨1 小时前
哪种浏览器适合跨境电商?2026场景化方案建议与架构对比
服务器·chrome·经验分享·架构·安全架构·指纹浏览器
koi77u1 小时前
嵌入式学习---进程与线程(1)
linux·服务器·学习
三8441 小时前
WordPress REST API 参数校验机制剖析:为什么 author__not_in 无法直接盲注?
服务器·前端·数据库
椿.湫1 小时前
kubenetes pod管理
linux·运维·服务器