本文只總結一些經常使用的用法,更詳細的說明見man uniq和 uniq --help。bash
uniq命令主要用於去重。code
須要注意的是,不相鄰的行不算重複值。排序
Usage: uniq [OPTION]... [INPUT [OUTPUT]]
OPTION | 說明 |
---|---|
-c | 統計出現的次數 |
-d | 只顯示被計算爲重複的行 |
-D | 顯示全部被計算爲重複的行 |
-c | 顯示惟一值,即沒有重複值的行 |
-i | 忽略大小寫 |
-z | 在末尾使用\0,而不是換行符 |
-s | 跳過多少個字符開始比較重複值 |
-f | 跳過多少個字段(field)開始比較重複值 |
-w | 比較重複值時每行比較的最大長度,即對每行多長的字符進行比較 |
有如下ip地址:ip
183.204.149.137 82.190.251.242 183.204.151.206 183.196.249.224 125.119.187.50 125.118.108.202 114.68.82.26 183.204.149.90 183.204.149.90 125.119.185.164 125.119.185.164 183.196.249.224 125.119.185.164 183.156.95.175 183.156.95.175 183.196.249.224 183.156.93.246 183.156.95.175 183.156.95.175 183.156.93.246 183.156.95.175 183.156.95.175 114.68.82.26 183.156.95.175 125.120.25.172 183.156.93.246 183.156.95.175 183.156.95.175 183.156.93.246 114.68.82.26 114.68.82.26 114.68.82.26 114.68.82.26 114.68.82.26 114.68.82.26 114.68.82.26 183.156.95.190 125.119.187.63 114.68.82.26 125.119.187.63 125.119.187.63 125.119.187.63 125.119.185.214 114.68.82.29 114.68.82.26 114.68.82.29 114.68.82.27 114.68.82.26 183.196.253.128 114.68.82.26 114.68.82.27 114.68.82.26 114.68.82.26 114.68.82.26 114.68.82.26 114.68.82.29 183.196.255.237 114.68.82.26 114.68.82.27 114.68.82.26 114.68.82.26 114.68.82.27 183.196.253.128 183.196.253.125 183.196.253.128 183.196.253.128 122.224.179.242 82.186.85.249 82.186.84.18 82.186.85.223 183.204.148.79 183.196.255.237 183.204.163.137 183.204.150.12 183.204.150.12 183.204.150.12
排序去重,重複數由多到少排序:table
# uniq常和sort一塊兒使用 [root@Rohn ~]#cat ip.txt | sort |uniq -c|sort -nr 20 114.68.82.26 9 183.156.95.175 4 183.196.253.128 4 183.156.93.246 4 125.119.187.63 4 114.68.82.27 3 183.204.150.12 3 183.196.249.224 3 125.119.185.164 3 114.68.82.29 2 183.204.149.90 2 183.196.255.237 1 82.190.251.242 1 82.186.85.249 1 82.186.85.223 1 82.186.84.18 1 183.204.163.137 1 183.204.151.206 1 183.204.149.137 1 183.204.148.79 1 183.196.253.125 1 183.156.95.190 1 125.120.25.172 1 125.119.187.50 1 125.119.185.214 1 125.118.108.202 1 122.224.179.242