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

相关推荐
l1t1 分钟前
对在aarch64 Linux环境编译安装的CinderX补充测试
linux·运维·服务器·python·jit
上海云盾-小余3 分钟前
服务器异常流量如何识别?从监控定位到防御处置全流程
运维·服务器
123过去8 分钟前
crackle使用教程
linux·网络·测试工具·安全
姚永强13 分钟前
简单论坛搭建——运维方向模拟
运维
me83215 分钟前
【Linux】Jenkins连接云服务器Docker失败,全程排查。(注意)
linux·服务器·jenkins
cui_ruicheng23 分钟前
Linux基础开发工具(一):软件管理与 Vim 编辑器入门
linux·编辑器·vim
同聘云31 分钟前
阿里云国际站独立服务器有哪些优点?独立服务器和云服务器的区别
服务器·阿里云·云计算
jaycyj34 分钟前
Linux 高级命令
linux
冉佳驹35 分钟前
Linux ——— 网络开发核心知识与协议实现详解
linux·http·https·udp·json·tcp·端口号
HalvmånEver36 分钟前
MySQL数据库基础入门总结(从0到1)
linux·数据库·mysql