文档编辑 · 2022年02月20日 0

uniq命令 – 去除文件中的重复行

uniq命令全称是“unique”,中文释义是“独特的,唯一的”。该命令的作用是用来去除文本文件中连续的重复行,中间不能夹杂其他文本行。去除了重复的,保留的都是唯一的,也就是独特的,唯一的了。 我们应当注意的是,它和sort的区别,sort只要有重复行,它就去除,而uniq重复行必须要连续,也可以用它忽略文件中的重复行。 **语法格式:** uniq [参数] [文件] **常用参数:** | -c | 打印每行在文本中重复出现的次数 | | ---- | -------------------------------------------- | | -d | 只显示有重复的纪录,每个重复纪录只出现一次 | | -u | 只显示没有重复的纪录 | **参考实例** 删除连续文件中连续的重复行: ``` [root@anycode ~]# cat testfile test 30 test 30 test 30 Hello 95 Hello 95 Hello 95 Hello 95 Linux 85 Linux 85 [root@anycode ~]# uniq testfile test 30 Hello 95 Linux 85 ``` 打印每行在文件中出现重复的次数: ``` [root@anycode ~]# uniq -c testfile 3 test 30 4 Hello 95 2 Linux 85 ``` 只显示有重复的纪录,且每个纪录只出现一次: ``` [root@anycode ~]# uniq -d testfile test 30 Hello 95 Linux 85 ``` 只显示没有重复的纪录: ``` [root@anycode ~]# uniq -u testfile [root@anycode ~]# ```