UNPKG

2.21 kBMarkdownView Raw
1uniq
2===
3
4显示或忽略重复的行。
5
6## 概要
7
8```shell
9uniq [OPTION]... [INPUT [OUTPUT]]
10```
11
12## 主要用途
13
14- 将输入文件(或标准输入)中邻近的重复行写入到输出文件(或标准输出)中。
15- 当没有选项时,邻近的重复行将合并为一个。
16
17
18## 选项
19
20```shell
21-c, --count 在每行开头增加重复次数。
22-d, --repeated 所有邻近的重复行只被打印一次。
23-D 所有邻近的重复行将全部打印。
24--all-repeated[=METHOD] 类似于 -D,但允许每组之间以空行分割。METHOD取值范围{none(默认),prepend,separate}。
25-f, --skip-fields=N 跳过对前N个列的比较。
26--group[=METHOD] 显示所有行,允许每组之间以空行分割。METHOD取值范围:{separate(默认),prepend,append,both}。
27-i, --ignore-case 忽略大小写的差异。
28-s, --skip-chars=N 跳过对前N个字符的比较。
29-u, --unique 只打印非邻近的重复行。
30-z, --zero-terminated 设置行终止符为NUL(空),而不是换行符。
31-w, --check-chars=N 只对每行前N个字符进行比较。
32--help 显示帮助信息并退出。
33--version 显示版本信息并退出。
34```
35
36## 参数
37
38INPUT(可选):输入文件,不提供时为标准输入。
39
40OUTPUT(可选):输出文件,不提供时为标准输出。
41
42## 返回值
43
44返回0表示成功,返回非0值表示失败。
45
46## 例子
47
48注意:命令2和命令3结果一样,命令1仅作了相邻行的去重。
49
50```shell
51uniq file.txt
52sort file.txt | uniq
53sort -u file.txt
54```
55
56只显示单一行,区别在于是否执行排序:
57
58```shell
59uniq -u file.txt
60sort file.txt | uniq -u
61```
62
63统计各行在文件中出现的次数:
64
65```shell
66sort file.txt | uniq -c
67```
68
69在文件中找出重复的行:
70
71```shell
72sort file.txt | uniq -d
73```
74
75
76### 注意
77
781. `uniq`只检测邻近的行是否重复,`sort -u`将输入文件先排序然后再处理重复行。
79
802. 该命令是`GNU coreutils`包中的命令,相关的帮助信息请查看`man -s 1 uniq``info coreutils 'uniq invocation'`
81
82