uniq主要用来处理文本中出现的重复行或列(列还未做测试)


其用法为 uniq [option] file


常见参数含义如下


    - c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

  - d 只显示重复行

  - u 只显示文件中不重复的各行

  - n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

  +n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

  - f n 与- n相同,这里n是字段数。

  - s n 与+n相同,这里n是字符数。


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


1.uniq与uniq -u 区别

root@extmail temp$uniq -u test
girl took bat home
root@extmail temp$uniq test   
boy took bat home 
girl took bat home 
dog brought hat home

 

可以看出,-u选项显示文件中没有连续出现的行。(不重复的行)

而uniq则表示删除重复的行


2.输出重复的行

root@extmail temp$uniq -d test
boy took bat home 
dog brought hat home


3.-f -s选项用法

root@extmail temp$uniq -f 1 -s2 test
boy t3ook bat home 
boy t4ook bat home 
girl took bat home 
dog brought hat home 
root@extmail temp$uniq -f 1 -s3 test
boy t3ook bat home 
girl took bat home 
dog brought hat home

-f 1 -s3表示忽略第一个字段,忽略第一个字段后的空白字符和第二个字段的前两个字符,然后比较剩下的内容。