说明
uniq命令用于输出或忽略文件中的重复行(连续出现的相同行)。在工作中,我们会先对文件进行排序,然后去重计数。
格式
uniq [option] [filename/input]
常用参数说明
- -c:去除重复行,并计算每行出现的次数
- -d:只显示重复的行
- -u:只显示唯一的行
示例
1、不带参数进行去重
[root@localhost ~]# cat uniq.txt
2018-06-08
2018-06-09
2018-06-09
2018-06-08
2018-05-04
2018-06-08
2018-06-09
[root@localhost ~]# uniq uniq.txt #去除了2018-06-09连续出现的相同行
2018-06-08
2018-06-09
2018-06-08
2018-05-04
2018-06-08
2018-06-09
2、排序再去重
[root@localhost ~]# sort uniq.txt > uniq.txtu
[root@localhost ~]# cat uniq.txtu
2018-05-04
2018-06-08
2018-06-08
2018-06-08
2018-06-09
2018-06-09
2018-06-09
[root@localhost ~]# uniq uniq.txtu
2018-05-04
2018-06-08
2018-06-09
#直接使用管道进行处理
[root@localhost ~]# sort uniq.txt|uniq
2018-05-04
2018-06-08
2018-06-09
3、-c参数的使用,计算重复的次数
[root@localhost ~]# sort uniq.txt|uniq -c
1 2018-05-04
3 2018-06-08
3 2018-06-09
4、-d和-u参数的使用
[root@localhost ~]# sort uniq.txt|uniq -d
2018-06-08
2018-06-09
[root@localhost ~]# sort uniq.txt|uniq -u
2018-05-04