Linux uniq命令:删除文件中的重复行(附带实例)
Linux 中的 uniq 命令来自英文单词 unique 的缩写,中文译为“独特的、唯一的”,其功能是去除文件中的重复内容行。
uniq 命令能够去除掉文件中相邻的重复内容行,如果两端相同内容,但中间夹杂了其他文本行,则需要先使用 sort 命令进行排序后再去重,这样保留下来的内容就都是唯一的了。
uniq 命令的语法格式如下:
【实例 1】对指定的文件进行去重操作:
【实例 2】统计相同内容行在文件中重复出现的次数:
【实例 3】仅显示指定文件中没有存在完全相同内容行的信息:
【实例 4】仅显示指定文件中存在完全相同内容行的信息:
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