1. 程式人生 > >Linux常用基本命令:uniq-去重復

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

gho linux 去重復 -c 1.0 spa color 顯示 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

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