uniq

      将文件中重复出现的行删除,结果送到标准输出或者指定文件。在使用uniq指令之前,必须使用sort对内容进行排序,否则没有效果。如果没有选项,则将匹配的行合并到第一个匹配项。

     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。


1、语法

     uniq [选项]  [input] [output]

 

2、选项列表


选项



说明



--version



显示命令版本信息



--help



显示帮助文档



-c | --count



显示行重复出现的次数



-d | --repeated



仅显示重复出现的行



-D|--all-repeated[=delimit-method]



打印所有重复行



-f | --skip-fields=N



忽略前n个字段



-i | --ignore-case



比较时忽略大小写



-s | --skip-chars=N



忽略前n个字符



-u | --unique



只显示不重复的行



-z | --zero-terminated



以0字节为结束符,而不是换行



-w | --check-chars=N



比较不超过指定次数



3、实例

     1)删除重复行 


​[root@192 weijie]# cat 3.c                     //​​查看内容

​nihao linux.​

​i am david. ​

​nihao linux.​

​i am david. ​

​[root@192 weijie]# sort 3.c | uniq –c       //​​先排序,然后再删除重复行,显示重复行出现的次数

​      2 i am david. ​

​      2 nihao linux.​


     2)只显示不重复的行


​[root@localhost weijie]# cat 3.c            //​​查看内容

​nihao linux.​

​i am david. ​

​nihao linux.​

​i am david. ​

​i love linux​

​[root@localhost weijie]# sort 3.c | uniq -c –u     //​​只显示不重复的行

​      1 i love linux​