在日常使用 RockyLinux 或其他类 Unix 系统时,我们经常需要处理大量文本数据。比如日志分析、用户列表整理、IP 地址统计等场景中,常常会遇到重复内容。这时,uniq 命令就派上用场了!本文将手把手教你如何使用 uniq 命令进行文本去重和行计数统计,即使是 Linux 小白也能轻松掌握。
一、uniq 命令基础介绍
uniq 是一个用于报告或忽略文件中重复行的命令。它有一个重要前提:只对相邻的重复行有效。也就是说,如果重复行不是连续出现的,uniq
默认不会识别为重复。
因此,在使用
uniq之前,通常需要先用
sort命令对文本排序,使相同内容集中在一起。
二、基本语法
uniq [选项] [输入文件] [输出文件]
如果不指定输入文件,
uniq会从标准输入(stdin)读取;如果不指定输出文件,则结果输出到标准输出(stdout)。
三、常用选项说明
-c或
--count:在每行前显示该行重复出现的次数(最常用!)
-d或
--repeated:仅显示重复的行(至少出现两次)
-u或
--unique:仅显示只出现一次的行
-i:忽略大小写比较
四、实战演示
假设我们有一个名为
users.txt的文件,内容如下:
alicebobalicecharliebobbob
1. 简单去重(需先排序)
sort users.txt | uniq
输出结果:
alicebobcharlie
2. 统计每行出现次数(最实用功能)
sort users.txt | uniq -c
输出结果:
2 alice 3 bob 1 charlie
注意:数字前面有空格,这是为了对齐格式。
3. 仅显示重复行
sort users.txt | uniq -d
输出:
alicebob
4. 仅显示唯一行(只出现一次)
sort users.txt | uniq -u
输出:
charlie
五、常见误区提醒
❌ 直接使用uniq file.txt而不排序 → 可能无法正确去重! ✅ 正确做法:始终搭配
sort使用,即
sort file.txt | uniq⚠️
uniq不会修改原文件,除非你重定向输出(如
> newfile.txt)
六、总结
通过本教程,你已经掌握了在 RockyLinux 中使用 uniq 命令进行文本去重和行计数统计的核心技巧。记住关键点:先排序,再 uniq。无论是日志分析、数据清洗还是系统管理,这些技能都非常实用。
希望这篇 Linux命令教程对你有帮助!快打开你的 RockyLinux 终端,动手试试吧!
关键词:RockyLinux uniq命令, 文本去重, 行计数统计, Linux命令教程
