uniq命令

作用:输出或者忽略文件中的重复行

格式: uniq [option] [file|stdin]

ghostwu@dev:~/linux/uniq$ cat ghostwu.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
ghostwu@dev:~/linux/uniq$ uniq ghostwu.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

ghostwu@dev:~/linux/uniq$ uniq -u ghostwu.txt 
192.168.1.2
192.168.1.8
192.168.1.9
192.168.1.0
192.168.1.3

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

ghostwu@dev:~/linux/uniq$ uniq -c ghostwu.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
ghostwu@dev:~/linux/uniq$ cat -n ghostwu.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命令排序后,再去重复,得到的结果 也是唯一的

ghostwu@dev:~/linux/uniq$ sort -n ghostwu.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: 只显示重复的行

ghostwu@dev:~/linux/uniq$ uniq -d ghostwu.txt 
192.168.1.3
192.168.1.8

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!