uniq命令来自英文单词unique的缩写,中文译为“独特的、唯一的”,其功能是去除文件中的重复内容行。uniq命令能够去除掉文件中相邻的重复内容行,如果两端相同内容,但中间夹杂了其他文本行,则需要先使用sort命令进行排序后再去重,这样保留下来的内容就都是唯一的了。
语法格式:uniq 参数 文件名
常用参数:
-c | 显示每行在文本中重复出现的次数 | -u | 仅显示没有重复的纪录 | |
-d | 设置每个重复纪录只出现一次 | -w | 仅对前N个字符进行比较 | |
-D | 显示所有相邻的重复行 | -z | 设置终止符(默认为换行符) | |
-f | 跳过对前N个列的比较 | --help | 显示帮助信息 | |
-i | 忽略大小写 | --version | 显示版本信息 | |
-s | 跳过对前N个字符的比较 |
参考示例
对指定的文件进行去重操作:
[root@linuxcool ~]# cat File test 30 test 30 test 30 Hello 95 Hello 95 Hello 95 Hello 95 Linux 85 Linux 85 [root@linuxcool ~]# uniq File test 30 Hello 95 Linux 85
统计相同内容行在文件中重复出现的次数:
[root@linuxcool ~]# uniq -c File 3 test 30 4 Hello 95 2 Linux 85
仅显示指定文件中没有存在完全相同内容行的信息:
[root@linuxcool ~]# uniq -u File [root@linuxcool ~]#
仅显示指定文件中存在完全相同内容行的信息:
[root@linuxcool ~]# uniq -d File test 30 Hello 95 Linux 85