uniq:查找重复文本的 Linux 命令

有时,您可能有很长的文本文件,其中很难找到某些模式或 重复的行或单词,或者您可能希望更轻松地匹配一堆小文本文件,甚至使用管道并匹配命令的输出。 同样, uniq 是命令 你在找什么。

使用 uniq 你可以 寻找冗余信息 以一种非常简单的方式。 此外,如果需要,它还允许您删除这些重复项。 而且,在本教程中,您将看到一些您可能会觉得有用的命令示例。 请记住,绝大多数发行版都默认安装了它,因此您不必安装该软件包...

好吧,首先,让我们看一个例子来了解 uniq 命令的基础知识以及它做什么和不做什么。 为了 例子,假设您创建了一个名为 test.txt, 然后在里面放几个重复的短语或单词,比如重复三行 «你好这是一个测试» 然后使用 uniq :

nano prueba.txt

uniq prueba.txt

那么,在那种情况下, 命令的输出 将是简单的:

Salida:

Hola, esto es una prueba

也就是说,放一行«你好这是一个测试» 消除其他两个相同的。 但请注意,如果您再次使用 cat 查看原始文件,您会看到它们并没有从文件中删除,它只是从输出中删除了它们:

cat prueba.txt

其输出将是:

Hola, esto es una prueba

Hola, esto es una prueba

Hola, esto es una prueba

但是 uniq 命令有更多可用的选项。 例如,它可以告诉你 一行重复的次数,在行首指示重复次数。 为了它:

uniq -c prueba.txt

你也可以 打印重复的行,并忽略不重复的:

uniq -d prueba.txt

或者不使用 -u 选项复制的那些:

uniq -u prueba.txt

使用 区分大小写 并且区分大小写,您可以使用 -i 选项:

uniq -i prueba.txt

好的,怎么能做到 创建一个只有唯一行的文件,一次消除所有重复项。 好吧,就像使用管道将 uniq 的输出通过管道传输到新的文本文件一样简单:

uniq prueba.txt > unicas.txt


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。