首页 >> 学习 >> Linux常用命令 >> uniq
uniq命令

本节重要性:★★★★☆    本节难度:★★★★★

uniq命令可以去掉相邻的重复的行,或者统计重复的次数。如果两行内容虽然相同,但是并不相邻,是不能用uniq命令去掉重复的一行的。

命令用途

去掉相邻的重复的行

命令格式

uniq [option] [file]

常用选项

-c	统计重复的次数
-d	只输出重复的行
-u	只输出不重复的行
-i	比较时忽略大小写
-f N	比较时忽略前N个字段
-s N	比较时忽略前N个字符
-w N	比较时只比较前N个字符

常见用法

下面我们用一个虚拟的文件来演示uniq命令的用法,该文件里有2行内容都是b且相邻,另外有两行内容都是a但不相邻。

[peter@ibi98 uniq]$ cat demo_uniq
a
b
b
a
c
d
[peter@ibi98 uniq]$ uniq demo_uniq
a
b
a
c
d
[peter@ibi98 uniq]$ sort demo_uniq |uniq
a
b
c
d
[peter@ibi98 uniq]$ sort demo_uniq |uniq -c
      2 a
      2 b
      1 c
      1 d

从上面可以看出,uniq只能去掉相邻的重复的行,因此该命令经常用在sort命令后面,文本经sort排序后内容相同的行就会排在一起,再用uniq处理就会去掉所有重复的行。

如果使用了-c选项,则输出的是重复的次数。

<<上一节  下一节>>