Uniq命令

时间:2019-04-29 03:17:27  来源:igfitidea点击:

Linux uniq命令示例

uniq命令

uniq命令用于显示或删除文件中的重复条目。uniq命令通常与sort命令一起使用。如果单独使用uniq命令,则它将仅显示唯一的行并删除重复的行。以下是uniq命令及其语法的一些常见用法:

语法

uniq [OPTION]

示例文件 file1的内容如下所示:

AIX
AIX
BSD
BSD
BSD
LINUX
LINUX
OS2
PUPPY
RHEL
RHEL
SOLARIS
Zos
Zos

uniq命令-未传递任何选项

tir@tir-desktop:~/uniq_test$ uniq file1
AIX
BSD
LINUX
OS2
PUPPY
RHEL
SOLARIS
Zos

在上面的示例中,使用了uniq命令,没有任何选项。这导致所有相邻的重复项都将被删除。请务必注意,uniq命令仅适用于相邻的重复条目。为了进一步说明这一点,使用以下几行创建了一个名为file2的文件:

file2:

AIX
BSD
AIX
BSD
AIX
BSD
LINUX
LINUX

尽管该文件包含重复项,但只有相邻重复项将被删除:

tir@tir-desktop:~/uniq_test$ uniq file2
AIX
BSD
AIX
BSD
AIX
BSD
LINUX

要删除所有重复的条目,我们将必须使用sort命令,如下所示:

tir@tir-desktop:~/uniq_test$ sort file2 | uniq
AIX
BSD
LINUX

作为上述替代方案,您可以使用-u参数执行sort命令以达到相同的结果:

tir@tir-desktop:~/uniq_test$ sort -u file2
AIX
BSD
LINUX

uniq命令-仅显示重复项

要仅显示文件中的重复条目,我们可以在uniq命令中使用-d选项:

tir@tir-desktop:~/uniq_test$ uniq -d file1
AIX
BSD
LINUX
RHEL
Zos

uniq-仅显示文件中的唯一条目

tir@tir-desktop:~/uniq_test$ uniq -u file1
OS2
PUPPY
SOLARIS

uniq-显示文件中的出现次数

tir@tir-desktop:~/uniq_test$ uniq -c file1
      2 AIX
      3 BSD
      2 LINUX
      1 OS2
      1 PUPPY
      2 RHEL
      1 SOLARIS
      2 Zos

通过在uniq命令中使用-c选项,我们可以快速查看文件中发现的出现次数的计数。