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