Linux常用基本命令:uniq-去重复


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM