Linux 中的 uniq 命令及示例 - Linux 命令行教程Linux 中的 uniq 命令及示例 - Linux 命令行教程Linux 中的 uniq 命令及示例 - Linux 命令行教程Linux 中的 uniq 命令及示例 - Linux 命令行教程
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Linux 中的 uniq 命令及示例 - Linux 命令行教程

发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux 中的 uniq 命令是“unique”的缩写,用于隔离文本文档或标准输入中的唯一字符串。这是一个非常基本的命令,目的很简单,但在幕后提供了一些选项,证明它们在很多情况下都很方便。

uniq 可以执行诸如抑制重复行或计算每个单词在一段文本中出现的次数等操作。 Linux 管理员在解析大型日志文件时会发现这很有用。例如,可以将日志文件传递给 uniq,而不是重复看到相同的“错误”行,它只会告诉您错误发生了多少次,从而为您提供更清晰、更易读的信息输出。

在本指南中,您将通过示例了解如何在 Linux 中使用 uniq 命令。请按照下面的说明了解可与此命令一起使用的各种选项。

在本教程中您将学习:

  • 如何在 Linux 上使用 uniq 命令

常用选项

uniq 命令允许我们获取文本文件并输入受控的重复行。为了向您展示 uniq 命令的工作原理,我们创建了一个包含 Linux 发行版名称的文本文档,其中包含重复的行。查看下面的示例,了解我们如何使用 uniq 命令来清理此名称列表。

Linux 中的 uniq 命令基本示例

  1. 首先,让我们看看使用 cat 命令的文本是什么样子的。

    $ cat distros.txt 
    AlmaLinux
    Arch Linux
    Arch Linux
    CentOS
    Debian
    Fedora
    Fedora
    Fedora
    Gentoo
    Kali Linux
    Kali Linux
    Manjaro
    openSUSE
    openSUSE
    openSUSE
    openSUSE
    Red Hat
    Ubuntu
    Ubuntu
    Ubuntu
    Ubuntu
    Ubuntu
    

    现在让我们使用 uniq 命令来查看同一个文档。

    $ uniq distros.txt 
    AlmaLinux
    Arch Linux
    CentOS
    Debian
    Fedora
    Gentoo
    Kali Linux
    Manjaro
    openSUSE
    Red Hat
    Ubuntu
    
  2. 通常将 sort 命令与 uniq 结合使用,因为 uniq 仅当行相邻时才能完成其工作。在将文本发送到 uniq 之前,sort 命令可以按字母或数字顺序排列行。

    $ cat distros.txt | sort | uniq
    
  3. 如果您想计算每行重复的次数,请使用 -c 选项和 uniq。

    $ uniq -c distros.txt
          1 AlmaLinux
          2 Arch Linux
          1 CentOS
          1 Debian
          3 Fedora
          1 Gentoo
          2 Kali Linux
          1 Manjaro
          4 openSUSE
          1 Red Hat
          5 Ubuntu
    
  4. 使用 -d 选项仅列出具有重复的行。

    $ uniq -d distros.txt
    Arch Linux
    Fedora
    Kali Linux
    openSUSE
    Ubuntu
    
  5. 默认情况下,uniq 区分大小写,这意味着它不会将“Ubuntu”和“ubuntu”视为重复行。可以使用 -i 选项更改此行为。

    $ uniq -i distros.txt
    

注意
您始终可以使用 man 命令来阅读有关 uniq 命令及其官方文档的更多信息。单击上一个链接可查看如何打开 Linux 系统上任何命令的手册页。

高级用法

Linux 中的 uniq 命令非常简单,但它包含很多选项。其中许多选项都不太引人注目,甚至一些经验丰富的系统管理员也可能不知道它们。然而,它们绝对可以在各种情况下派上用场。在本指南的这一部分中,我们将向您展示一些我们认为有用的 uniq 命令鲜为人知的选项。

Linux 高级示例中的 uniq 命令

  1. 使用 -u 选项仅输出没有任何重复的行。

    $ uniq -u distros.txt 
    AlmaLinux
    CentOS
    Debian
    Gentoo
    Manjaro
    Red Hat
    
  2. 使用 -s 选项指示 uniq 跳过比较每行中的前 X 个字符。例如,此命令将仅比较每行中第四个字符之后的字符:

    $ uniq -s 4 distros.txt
    
  3. 要仅比较前 X 个字符,可以将 -w 选项与 uniq 命令结合使用。例如,此命令将仅比较前三个字符以确定是否存在重复行。

    $ uniq -w 3 distros.txt
    

结束语

在本指南中,我们了解了有关 Linux 上的 uniq 命令的所有信息。在解析大量容易重复的文本时,uniq 命令被证明非常有用。由于重复数据很少有用,uniq 可以使数据更容易消化,同时可以选择使用 -c 选项保留重复行数。如果您倾向于查看大量日志文件,那么了解 uniq 命令的来龙去脉将是您的救星。

©2015-2025 Norria support@norria.com