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
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。