📜  Linux Uniq命令

📅  最后修改于: 2020-12-08 03:02:20             🧑  作者: Mango

Linux uniq命令

Linux uniq命令用于从文件中删除所有重复的行。同样,它可以用于显示任何单词的计数,仅重复行,忽略字符以及比较特定字段。它是sort命令一起使用,因为它比较相邻的字符。它丢弃所有相同的行并写入输出。

句法:

uniq [OPTION]... [INPUT [OUTPUT]]

选项:

uniq命令的一些有用的命令行选项如下:

-c,–count:它以出现次数为前缀。

-d,–repeated:用于print重复的行,每组一行。

-D:用于print所有重复的行。

–all-repeated [= METHOD]:它与'-D'选项非常相似,这两个选项之间的区别在于,它允许用空行分隔组。

-f,–skip-fields = N:用于避免比较前N个字段。

–group [= METHOD]:用于显示所有项目,并用空行分隔组。

-i,-ignore-case:用于在比较时忽略差异。

-s,–skip-chars = N:用于避免比较前N个字符。

-u,–unique:用于print唯一的行。

-z,-零终止:用于行定界符为NUL而不是换行模式。

-w,–check-chars = N:用于比较行中不超过N个字符。

–help:用于显示帮助文档。

–version:用于显示版本信息。

uniq命令的示例

让我们看一下uniq命令的以下示例:

删除重复的行

要从文件中删除重复的行,请执行以下基本的uniq命令:

sort dupli.txt | uniq

上面的命令将从文件“ dupli.txt”中删除重复的行。考虑以下输出:

从上面的输出中,忽略重复的单词。

计算单词出现的次数

通过使用uniq命令,我们可以计算单词出现的次数。 '-c'选项用于对单词进行计数。执行如下:

sort dupli.txt | uniq -c

上面的命令将计算“ dupli.txt”中的单词。考虑以下输出:

从上面的输出中,命令“ sort dupli.txt | uniq -c”计算单词重复的次数。

显示重复的行

'-d'选项用于仅显示重复的行。它将仅显示文件中不止一次的行,并将输出写入标准输出。考虑以下命令:

sort dupli.txt | uniq -d

上面的命令将仅显示重复的行。考虑以下输出:

显示唯一的行

'-u'选项用于仅显示唯一的行(不会重复)。它只会显示仅出现一次的行,并将结果写入标准输出。考虑以下命令:

sort dupli.txt | uniq -u

上面的命令将仅显示文件“ dupli.txt”中的唯一行。考虑以下输出:

比较中忽略字符

'-s'选项用于忽略比较中的字符。它将忽略指定的字符数,并将结果显示到标准输出。考虑以下命令:

sort dupli.txt | uniq -s 2

上面的命令将忽略文件“ dupli.txt”中的前两个字符。考虑以下输出:

忽略比较中的字段

'-f'选项用于忽略字段。考虑以下命令:

uniq -f 2 dupli2.txt

上面的命令不会比较文件“ dupli2.txt”中的前两个字段。考虑以下输出:

从上面的输出中,跳过前两个字段,并从文件“ dupli2.txt”比较所有其余字段。