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

相关推荐
三言老师16 分钟前
Rocky Linux 8.6 整机系统备份与迁移方案文档文档用途
linux·运维·服务器·网络
「PlanA」21 分钟前
自动化流水线CSDN自动发布文章
运维·自动化
daad77727 分钟前
用 HackRF + GNU Radio 制作 FM 发射机:从 WAV 到 103 MHz 空中信号
服务器·gnu·fm
雾时之林39 分钟前
Linux----防火墙
linux·运维·网络
海兰1 小时前
【开源工具】BlueKing Lite —— AI 原生的轻量运维平台(二)
运维·人工智能·开源
我星期八休息2 小时前
网络编程—NAT、代理服务与内网穿透
linux·服务器·网络·网络协议
RisunJan2 小时前
Linux命令-sysctl(运行时修改内核参数)
linux·网络·智能路由器
yunwei372 小时前
eBPF 教程:使用 fsession 追踪慢速 vfs_read 调用
linux·云原生
A_humble_scholar3 小时前
Linux 网络基础(三)下的 HTTP 核心详解:从请求响应到状态管
linux·网络·http
袅沫3 小时前
Nginx中部署多个前端项目——区分路径
服务器·前端