首页 > 编程笔记 > Linux命令 阅读:1

Linux uniq命令:删除文件中的重复行(附带实例)

Linux 中的 uniq 命令来自英文单词 unique 的缩写,中文译为“独特的、唯一的”,其功能是去除文件中的重复内容行。

uniq 命令能够去除掉文件中相邻的重复内容行,如果两端相同内容,但中间夹杂了其他文本行,则需要先使用 sort 命令进行排序后再去重,这样保留下来的内容就都是唯一的了。

uniq 命令的语法格式如下:

uniq 参数 文件名

常用参数见下表:

选项 描述 选项 描述
-c 显示每行在文本中重复出现的次数 -u 仅显示没有重复的纪录
-d 设置每个重复纪录只出现一次 -w 仅对前 N 个字符进行比较
-D 显示所有相邻的重复行 -z 设置终止符(默认为换行符)
-f 跳过对前 N 个列的比较 --help 显示帮助信息
-i 忽略大小写 --version 显示版本信息
-s 跳过对前 N 个字符的比较    

【实例 1】对指定的文件进行去重操作:
[root@clinux ~]# cat File
test 30
test 30
test 30
Hello 95
Hello 95
Hello 95
Hello 95
Linux 85
Linux 85
[root@clinux ~]# uniq File
test 30
Hello 95
Linux 85

【实例 2】统计相同内容行在文件中重复出现的次数:
[root@clinux ~]# uniq -c File
3 test 30
4 Hello 95
2 Linux 85

【实例 3】仅显示指定文件中没有存在完全相同内容行的信息:
[root@clinux ~]# uniq -u File
[root@clinux ~]#

【实例 4】仅显示指定文件中存在完全相同内容行的信息:
[root@clinux ~]# uniq -d File
test 30
Hello 95
Linux 85 

相关文章