【转帖】Linux Uniq命令

1 uniq命令:

 

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


 功能说明:检查及删除文本文件中重复出现的行列。

    语  法:uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]

    补充说明:uniq可检查文本文件中重复出现的行列。

    参  数:
  
    -c或--count   在每列旁边显示该行重复出现的次数。
  
    -d或--repeated   仅显示重复出现的行列。
  
    -f<栏位>或--skip-fields=<栏位>   忽略比较指定的栏位。
  
    -s<字符位置>或--skip-chars=<字符位置>   忽略比较指定的字符。
  
    -u或--unique   仅显示出一次的行列。
  
    -w<字符位置>或--check-chars=<字符位置>   指定要比较的字符。
  
    --help   显示帮助。
  
    --version   显示版本信息。
  
    [输入文件]   指定已排序好的文本文件。

    [输出文件]   指定输出的文件。


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

[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

忽略每行的前2个字段,忽略第二个空白字符和第三个字段的首字符,结果at home

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

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

 

你可能感兴趣的:(【转帖】Linux Uniq命令)