uniq命令使用方法

时间:2023-01-09 18:49:17

uniq命令的作用:显示唯一的行,对于那些连续重复的行只显示一次! 

接下来通过实践实例说明:

[root@stu100 ~]# cat test

boy took bat home

boy took bat home

girl took bat home

dog brought hat home

dog brought hat home

dog brought hat home 

看test文件的内容,可以看到其中的连续重复行 

[root@stu100 ~]# uniq test  
boy took bat home  
girl took bat home  
dog brought hat home  

uniq命令不加任何参数,仅显示连续重复的行一次 

[root@stu100 ~]# uniq -c test 

2 boy took bat home 

1 girl took bat home 

3 dog brought hat home  

-c 参数显示文件中每行连续出现的次数。 

[root@stu100 ~]# uniq -d test  

boy took bat home  

dog brought hat home  

-d选项仅显示文件中连续重复出现的行。 

[root@stu100 ~]# uniq -u test  

girl took bat home

-u选项显示文件中没有连续出现的行(去除重复)。

[root@stu100 ~]# uniq -f 2 -s 2 test  

boy took bat home

-f(跳过的字段)和-s(跳过的字符数)选项忽略每行的前2个字段,忽略第二个空白字符和第三个字段的首字符(从跳过的字段数开始算起,与-f选项配合使用),结果at home 

[root@stu100 ~]# uniq -f 1 test  

boy took bat home  

dog brought hat home

-f选项忽略每行的第一个字段,这样boy ,girl开头的行看起来是连续重复的行。

lxy@lxy-e440:~$ uniq -w 3 test.txt 

boy took bat home

girl took bat home

dog brought hat home


lxy@lxy-e440:~$ uniq -w 3 -u test.txt 

girl took bat home


lxy@lxy-e440:~$ uniq -w 3 -d test.txt 

boy took bat home

dog brought hat home

 

-w选项对每行第N 个字符以后的内容不作对照