在 Linux 系统中,处理大量文本数据是日常运维和开发中的常见任务。如果你正在使用 Ubuntu 系统,并希望快速对文本文件进行去重或计数统计,那么
uniq命令就是你的得力助手。
本文将带你从零开始,深入浅出地学习 Ubuntu uniq 命令 的基本用法、常用选项以及实际应用场景,即使是 Linux 新手也能轻松上手!
什么是 uniq 命令?
uniq是一个用于过滤或报告文本文件中相邻重复行的命令行工具。注意:它只能处理“相邻”的重复行,因此通常需要先配合
sort命令对文件排序,才能实现全局去重。
基础语法
uniq [选项] [输入文件] [输出文件]
常用选项详解
-c或
--count:在每行前显示该行出现的次数(用于uniq计数统计)。
-d或
--repeated:仅显示重复出现的行(至少出现两次)。
-u或
--unique:仅显示只出现一次的行。
-i:忽略大小写差异。
实战示例
1. 准备测试文件
首先创建一个包含重复行的文本文件
fruits.txt:
applebananaappleorangebananabananagrape
2. 直接使用 uniq(注意:未排序时效果有限)
$ uniq fruits.txtapplebananaappleorangebananagrape
可以看到,因为
apple和
banana的重复行不相邻,所以没有被完全去重。
3. 先排序再去重(推荐做法)
$ sort fruits.txt | uniqapplebananagrapeorange
现在所有重复项都被成功去除,实现了完整的文本去重。
4. 使用 -c 选项进行计数统计
$ sort fruits.txt | uniq -c 2 apple 3 banana 1 grape 1 orange
这正是我们想要的uniq计数统计结果!左侧数字表示该行在原文件中出现的总次数。
5. 仅显示重复行(-d)或唯一行(-u)
# 显示重复行$ sort fruits.txt | uniq -dapplebanana# 显示唯一行$ sort fruits.txt | uniq -ugrapeorange
常见误区提醒
❌uniq不能自动对整个文件去重,必须先排序。 ✅ 正确做法:始终使用
sort file | uniq组合。 ???? 小技巧:可直接用
sort -u file实现相同效果(但无法计数)。
总结
通过本教程,你已经掌握了 Ubuntu uniq命令 的核心用法,包括如何进行高效的文本去重和计数统计。记住关键点:先
sort,再
uniq!
无论你是系统管理员、开发者还是数据分析初学者,这些技能都能帮助你更高效地处理日志、配置文件或任何文本数据。快在你的 Ubuntu 终端中试试吧!
关键词回顾:Ubuntu uniq命令、去重命令、文本去重、uniq计数统计。
