作用:输出或者忽略文件中的重复行 格式: uniq [option] [file|stdin]
wangxiaolong@dev:~/linux/uniq$ cat wangxiaolong.txt
192.168.1.2
192.168.1.8
192.168.1.3
192.168.1.3
192.168.1.9
192.168.1.8
192.168.1.8
192.168.1.0
192.168.1.3
wangxiaolong@dev:~/linux/uniq$ uniq wangxiaolong.txt
192.168.1.2
192.168.1.8
192.168.1.3
192.168.1.9
192.168.1.8
192.168.1.0
192.168.1.3
去掉了连续的重复行.如果只想保留文件中的唯一,可以用选项-u
wangxiaolong@dev:~/linux/uniq$ uniq -u wangxiaolong.txt
192.168.1.2
192.168.1.8
192.168.1.9
192.168.1.0
192.168.1.3
-c:去重复,并计算每行出现的次数
wangxiaolong@dev:~/linux/uniq$ uniq -c wangxiaolong.txt
1 192.168.1.2
1 192.168.1.8
2 192.168.1.3
1 192.168.1.9
2 192.168.1.8
1 192.168.1.0
1 192.168.1.3
wangxiaolong@dev:~/linux/uniq$ cat -n wangxiaolong.txt
1 192.168.1.2
2 192.168.1.8
3 192.168.1.3
4 192.168.1.3
5 192.168.1.9
6 192.168.1.8
7 192.168.1.8
8 192.168.1.0
9 192.168.1.3
可以用sort命令排序后,再去重复,得到的结果 也是唯一的
wangxiaolong@dev:~/linux/uniq$ sort -n wangxiaolong.txt | uniq -c
1 192.168.1.0
1 192.168.1.2
3 192.168.1.3
3 192.168.1.8
1 192.168.1.9
-d: 只显示重复的行
wangxiaolong@dev:~/linux/uniq$ uniq -d wangxiaolong.txt
192.168.1.3
192.168.1.8