Linux uniq命令:它是什么以及如何使用它

通过文本数据迅速干掉狩猎

Linux(及其前身,Unix)是建立在纯文本。因此,它有各种各样的有用的文本处理工具可以使用的终端。Linux uniq实用程序被设计来帮助你整理文本文件的惟一值。

什么是Linux uniq当你会使用它吗?

uniq命令来安装在大多数Linux发行版的盒子,和属于coreutils包。它是用于识别和“崩溃”行相邻,相同的文本。让我们打开这个定义。

  • 比较的基本单位是一行文本,即所有的文本从一行返回到下一个。这可以包括多个句子,只要他们在同一个段落。
  • 默认情况下,只uniq比较相邻行。这意味着如果两行完全相同,但它们之间有不同,他们会被认为是不同的,除非你使用一些不同的选项(稍后)的命令。
  • 在这种背景下,“崩溃”意味着然后uniq显示其输出,它将只包括第一次出现。

uniq命令帮助您筛选大量的数据,并确定哪些线是相同的,并从输出删除它们。

Linux uniq命令的基本用法

uniq移除重复的行

在基本层面上,使用Linux uniq命令如下:

uniq - o =价值/道路/ / inputfile

这里,上面的“o”代表了速记国旗的一个选项。你也可以进入这个时间的形式,如:

uniq——选项=价值/道路/ / inputfile

“inputfile”必须是一个纯文本文件包含您的数据。有很多选项可用于uniqu命令在Linux中,但它可能不是明显的如何使用这些选项为您提供有用的输出。我们将做事投入到其中一些在下面的部分。

消除相邻重复uniq命令

在其最基本的形式,uniq命令将“崩溃”相邻的复制和显示结果。例如,让我们说你开始一个新的博客,有一个列表的人注册了你的电子邮件时事通讯(newsletter.txt),但还没有成员。

Jsmith@example.com
Jsmith@example.com
Tmiller@example.com
Mjones@example.com
Mjones@example.com

既然你不想麻烦这些人不止一次,可以减少重复与以下:

美元uniq newsletter.txt
Jsmith@example.com
Tmiller@example.com
Mjones@example.com

诚然,这本身不是很令人兴奋。如果第三发生“Jsmith@example.com”存在的文件,它将仍然存在。所以重要的是要学习一些选项的命令。

uniq计算出现的数量

计数与uniq重复行

假设你的博客注册起飞,不仅是人,他们订阅!为了钱!他们为什么不呢?支付你收到的列表将开始增长。

约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
彼得斯亚伦Apeters@example.com 10.00美元
彼得斯亚伦Apeters@example.com 10.00美元
彼得斯亚伦Apeters@example.com 10.00美元
米勒蒂姆Tmiller@example.com 1.00美元
米勒蒂姆Tmiller@example.com 1.00美元
米勒蒂姆Tmiller@example.com 1.00美元
米勒蒂姆Tmiller@example.com 1.00美元
米勒蒂姆Tmiller@example.com 1.00美元
米勒蒂姆Tmiller@example.com 1.00美元
玛丽琼斯Mjones@example.com 5.00美元
玛丽琼斯Mjones@example.com 5.00美元
玛丽琼斯Mjones@example.com 5.00美元
玛丽琼斯Mjones@example.com 5.00美元
弗雷德琼斯Fjones@example.com 4.00美元
弗雷德琼斯Fjones@example.com 4.00美元
弗雷德琼斯Fjones@example.com 4.00美元
弗雷德琼斯Fjones@example.com 4.00美元
弗雷德琼斯Fjones@example.com 4.00美元

在某种程度上,你会想要股票多久你的一些用户一直与你在一起时的感觉。鉴于上述列表的还款日期,你可以uniq数出现的次数- c国旗:

uniq美元- c payments.txt
约翰史密斯8 Jsmith@example.com 3.00美元
3亚伦彼得斯Apeters@example.com 10.00美元
6米勒蒂姆Tmiller@example.com 1.00美元
玛丽琼斯4 Mjones@example.com 5.00美元
5琼斯弗雷德Fjones@example.com 4.00美元

然而,这又依赖于相邻的行…如果有任何没有,会有重复的输出程序的设计减少重复!由于这个原因,uniq当结合使用是最有用的排序命令。

显示独特的线条和uniq命令

那种命令帮助我们在这里所以他们会安排重复的行相邻,从而使uniq过滤出来。例如,假设上述付款报告没来很好地下令:

约翰史密斯Jsmith@example.com 3.00美元
弗雷德琼斯Fjones@example.com 4.00美元
米勒蒂姆Tmiller@example.com 1.00美元
彼得斯亚伦Apeters@example.com 10.00美元
玛丽琼斯Mjones@example.com 5.00美元
彼得斯亚伦Apeters@example.com 10.00美元
米勒蒂姆Tmiller@example.com 1.00美元
弗雷德琼斯Fjones@example.com 4.00美元
约翰史密斯Jsmith@example.com 3.00美元
弗雷德琼斯Fjones@example.com 4.00美元
彼得斯亚伦Apeters@example.com 10.00美元
弗雷德琼斯Fjones@example.com 4.00美元
弗雷德琼斯Fjones@example.com 4.00美元
米勒蒂姆Tmiller@example.com 1.00美元
玛丽琼斯Mjones@example.com 5.00美元
约翰史密斯Jsmith@example.com 3.00美元
米勒蒂姆Tmiller@example.com 1.00美元
约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
约翰史密斯Jsmith@example.com 3.00美元
玛丽琼斯Mjones@example.com 5.00美元
玛丽琼斯Mjones@example.com 5.00美元
米勒蒂姆Tmiller@example.com 1.00美元
米勒蒂姆Tmiller@example.com 1.00美元
约翰史密斯Jsmith@example.com 3.00美元

在这种情况下,你想第一次运行这个列表排序所有的项目分组,然后运行uniq。这使用运营商在命令行(“|”),在该命令的结果之前,管吃顿直接进入第二个命令。所以当我们运行这个混乱的支付我们独特的结果(计算):

美元payments-rand排序。txt | uniq - c
5琼斯弗雷德Fjones@example.com 4.00美元
玛丽琼斯4 Mjones@example.com 5.00美元
6米勒蒂姆Tmiller@example.com 1.00美元
3亚伦彼得斯Apeters@example.com 10.00美元
约翰史密斯8 Jsmith@example.com 3.00美元

使用uniq命令快速数据分析

随着你越来越熟悉Linux命令行,你会发现吨有用uniq等项目。当然,您可以在Excel和打开上面的那种方式,但是你不会开始赚任何技术信誉,现在好吗?

这个页面是有用吗?