跳转到内容

Uniq

100% developed
来自维基教科书,开放世界中的开放书籍

Uniq 是一个面向行的 Unix 命令行工具,用于处理相邻的重复行,可在许多平台上使用。

Uniq 的命令行选项,也称为开关

  • -u: (代表 unique) 输出单行块:仅输出非重复多行块中的行。
  • -d: (代表 duplicate) 输出折叠的多行块:对每个重复多行块输出一行,舍弃大小为一的块中的行。
  • -c: (代表 count) 对每个包含一个或多个相邻重复行的块输出一行,前面加上块中的行数。

一些版本的 Uniq 的命令行选项,也称为开关

  • -fnumber: 忽略一行中的多个字段
  • -i: 不区分大小写。
  • -snumber: 忽略一行中的多个字符

链接

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 版本。

[编辑 | 编辑源代码]
华夏公益教科书