作用:输出或者忽略文件中的重复行 格式: uniq [option] [file|stdin]

    1. wangxiaolong@dev:~/linux/uniq$ cat wangxiaolong.txt
    2. 192.168.1.2
    3. 192.168.1.8
    4. 192.168.1.3
    5. 192.168.1.3
    6. 192.168.1.9
    7. 192.168.1.8
    8. 192.168.1.8
    9. 192.168.1.0
    10. 192.168.1.3
    11. wangxiaolong@dev:~/linux/uniq$ uniq wangxiaolong.txt
    12. 192.168.1.2
    13. 192.168.1.8
    14. 192.168.1.3
    15. 192.168.1.9
    16. 192.168.1.8
    17. 192.168.1.0
    18. 192.168.1.3

    去掉了连续的重复行.如果只想保留文件中的唯一,可以用选项-u

    1. wangxiaolong@dev:~/linux/uniq$ uniq -u wangxiaolong.txt
    2. 192.168.1.2
    3. 192.168.1.8
    4. 192.168.1.9
    5. 192.168.1.0
    6. 192.168.1.3

    -c:去重复,并计算每行出现的次数

    1. wangxiaolong@dev:~/linux/uniq$ uniq -c wangxiaolong.txt
    2. 1 192.168.1.2
    3. 1 192.168.1.8
    4. 2 192.168.1.3
    5. 1 192.168.1.9
    6. 2 192.168.1.8
    7. 1 192.168.1.0
    8. 1 192.168.1.3
    9. wangxiaolong@dev:~/linux/uniq$ cat -n wangxiaolong.txt
    10. 1 192.168.1.2
    11. 2 192.168.1.8
    12. 3 192.168.1.3
    13. 4 192.168.1.3
    14. 5 192.168.1.9
    15. 6 192.168.1.8
    16. 7 192.168.1.8
    17. 8 192.168.1.0
    18. 9 192.168.1.3

    可以用sort命令排序后,再去重复,得到的结果 也是唯一的

    1. wangxiaolong@dev:~/linux/uniq$ sort -n wangxiaolong.txt | uniq -c
    2. 1 192.168.1.0
    3. 1 192.168.1.2
    4. 3 192.168.1.3
    5. 3 192.168.1.8
    6. 1 192.168.1.9

    -d: 只显示重复的行

    1. wangxiaolong@dev:~/linux/uniq$ uniq -d wangxiaolong.txt
    2. 192.168.1.3
    3. 192.168.1.8