uniq-命令

uniq

uniq作用:只能对相邻的相同行去重。

格式

1
Usage: uniq [OPTION]... [INPUT [OUTPUT]]

参数

1
2
3
4
5
6
7
8
9
10
-c, --count:在行首显示该行重复出现的次数。
-d, --repeated:仅显示重复的列。
-D, --all-repeated[=METHOD] 仅显示重复行。
-f, --skip-fields=N 忽略比较指定的栏位
-i, --ignore-case 不区分大小写
-s, --skip-chars=N:忽略比较指定的字符
-u, --unique: 仅显示出一次的行列
-w, --check-chars=N:指定要比较的字符
--help:显示帮助文档并退出
--version:输出版本信息并退出

常用参数

1
-c, —count 打印每一重复行出现的次数。

示例

uniq 去重

第一步sort将相似的进行排序,uniq去掉重复行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@linux-node2 tmp16:03:32]#sort a.txt
10.10.0.1
10.10.0.1
10.10.0.2
10.10.0.3
10.10.0.3
10.10.0.4
10.10.0.4
10.10.0.5
10.10.0.8
[root@linux-node2 tmp16:03:51]#sort a.txt |uniq
10.10.0.1
10.10.0.2
10.10.0.3
10.10.0.4
10.10.0.5
10.10.0.8

uniq 统计出现的次数

uniq -c 去掉重复行,并统计出现次数

1
2
3
4
5
6
7
[root@linux-node2 tmp16:04:12]#sort a.txt |uniq -c
2 10.10.0.1
1 10.10.0.2
2 10.10.0.3
2 10.10.0.4
1 10.10.0.5
1 10.10.0.8