当前位置:首页 > Ubuntu > 正文

掌握 Ubuntu uniq 命令:高效实现文本去重与计数统计(新手友好教程)

在 Linux 系统中,处理大量文本数据是日常运维和开发中的常见任务。如果你正在使用 Ubuntu 系统,并希望快速对文本文件进行去重计数统计,那么 uniq 命令就是你的得力助手。

本文将带你从零开始,深入浅出地学习 Ubuntu uniq 命令 的基本用法、常用选项以及实际应用场景,即使是 Linux 新手也能轻松上手!

掌握 Ubuntu uniq 命令:高效实现文本去重与计数统计(新手友好教程) uniq命令 去重命令 文本去重 uniq计数统计 第1张

什么是 uniq 命令?

uniq 是一个用于过滤或报告文本文件中相邻重复行的命令行工具。注意:它只能处理“相邻”的重复行,因此通常需要先配合 sort 命令对文件排序,才能实现全局去重。

基础语法

uniq [选项] [输入文件] [输出文件]  

常用选项详解

  • -c--count:在每行前显示该行出现的次数(用于uniq计数统计)。
  • -d--repeated:仅显示重复出现的行(至少出现两次)。
  • -u--unique:仅显示只出现一次的行。
  • -i:忽略大小写差异。

实战示例

1. 准备测试文件

首先创建一个包含重复行的文本文件 fruits.txt

applebananaappleorangebananabananagrape  

2. 直接使用 uniq(注意:未排序时效果有限)

$ uniq fruits.txtapplebananaappleorangebananagrape  

可以看到,因为 applebanana 的重复行不相邻,所以没有被完全去重。

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计数统计