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
将文件中重复出现的行删除,结果送到标准输出或者指定文件。在使用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