Uniq
外观
Uniq 是一个面向行的 Unix 命令行工具,用于处理相邻的重复行,可在许多平台上使用。
Uniq 的命令行选项,也称为开关
- -u: (代表 unique) 输出单行块:仅输出非重复多行块中的行。
- -d: (代表 duplicate) 输出折叠的多行块:对每个重复多行块输出一行,舍弃大小为一的块中的行。
- -c: (代表 count) 对每个包含一个或多个相邻重复行的块输出一行,前面加上块中的行数。
一些版本的 Uniq 的命令行选项,也称为开关
- -fnumber: 忽略一行中的多个字段
- -i: 不区分大小写。
- -snumber: 忽略一行中的多个字符
链接
- 使文件唯一,coreutils,gnu.org
Uniq 使用的示例
- uniq file.txt
- 在相邻的一个或多个重复行中,只输出其中一行。
- sort file.txt | uniq
- 排序后,在重复行中,只输出其中一行。排序可以确保原本不相邻但相同的行变为相邻。
- sort file.txt | uniq -u
- 仅输出单行块。
- sort file.txt | uniq -d
- 对每个多行块输出一行,过滤掉单行块。
- sort file.txt | uniq -c
- 在每行前面加上块大小。
- sort file.txt | uniq -c | sort
- 在每行前面加上块大小,并按块大小对结果进行排序。排序有效,因为 uniq 输出的块大小前面有空格,以便排序。
- sort file.txt | uniq -u -d
- 在 GNU uniq 中,不输出任何内容,因为两个选项都充当过滤器,组合起来会过滤掉所有内容。
可以在 GnuWin32 项目 和 Cygwin 中找到适用于 MS Windows 的 GNU uniq 版本。
- GNU Coreutils 在 gnu.org
- uniq(1) OS X 手册页 在 developer.apple.com
- Unix uniq(1) 手册页 在 man.cat-v.org
- W:uniq