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

Debian uniq命令详解(文本去重与行计数统计实战指南)

在 Linux 系统中,尤其是 Debian 及其衍生发行版(如 Ubuntu)中,处理文本文件是日常运维和开发中的常见任务。而 uniq 命令 正是一个非常实用的工具,用于对已排序的文本进行去重计数统计。本文将手把手教你如何使用 uniq 命令,即使你是 Linux 小白也能轻松上手!

Debian uniq命令详解(文本去重与行计数统计实战指南) uniq命令 文本去重 行计数统计 Linux命令行教程 第1张

什么是 uniq 命令?

uniq 是一个标准的 Unix/Linux 命令行工具,主要用于过滤相邻的重复行。注意:它只能去除连续重复的行,因此通常需要先用 sort 命令对文件排序,再使用 uniq

基本语法

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

常用选项说明

  • -c--count:在每行前显示该行出现的次数(最常用!)
  • -d--repeated:仅显示重复出现的行(至少出现两次)
  • -u--unique:仅显示只出现一次的行
  • -i:忽略大小写比较

实战示例

1. 准备测试文件

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

echo -e "apple\nbanana\napple\norange\nbanana\napple" > fruits.txt  

查看内容:

cat fruits.txt  

输出:

applebananaappleorangebananaapple  

2. 直接使用 uniq(注意:未排序!)

uniq fruits.txt  

输出:

applebananaappleorangebananaapple  

可以看到,uniq 没有去重成功!因为重复的 apple 不是连续的。

3. 先排序再使用 uniq(正确做法)

sort fruits.txt | uniq  

输出:

applebananaorange  

现在成功去重了!这是使用 uniq 的标准流程。

4. 使用 -c 选项进行计数统计

sort fruits.txt | uniq -c  

输出:

      3 apple      2 banana      1 orange  

左边数字表示该行在原始文件中出现的次数。这就是 行计数统计 的典型应用!

5. 仅显示重复行(-d)或唯一行(-u)

# 显示重复行sort fruits.txt | uniq -d# 显示唯一行(只出现一次的)sort fruits.txt | uniq -u  

输出分别是:

# uniq -d 输出applebanana# uniq -u 输出orange  

常见误区提醒

  • uniq 不能直接去除非连续重复行 —— 必须配合 sort 使用。
  • ✅ 正确流程:sort file | uniq [选项]
  • 💡 如果你只想去重而不关心顺序,也可以用 sort -u file,这是 sort 自带的去重功能。

总结

通过本教程,你已经掌握了在 Debian 系统中使用 uniq 命令 进行 文本去重行计数统计 的核心技巧。记住关键点:先排序,再去重!无论是日志分析、数据清洗还是日常脚本编写,uniq 都是一个高效且不可或缺的工具。

希望这篇 Linux命令行教程 对你有所帮助。快打开终端,动手试试吧!

关键词:Debian uniq命令、文本去重、行计数统计、Linux命令行教程