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

【linux】文件与目录命令 - uniq

文章目录

        • 1. 基本用法
        • 2. 常用参数
        • 3. 用法举例
        • 4. 注意事项

uniq 命令用于过滤文本文件中相邻的重复行,并支持统计重复次数或仅保留唯一行。它通常与 sort 命令配合使用,因为 uniq 只识别相邻的重复行。

1. 基本用法
  • 语法:

    uniq [选项] [输入文件] [输出文件]
    
  • 功能:

    • 从文本中去除相邻的重复行。
    • 统计重复行的次数或保留唯一行。
  • 此命令是否系统自带:此命令是系统默认自带的,无需额外安装。


2. 常用参数
  • 基本功能:
    • -c:在每行前显示重复的次数。
    • -d:仅显示重复的行。
    • -u:仅显示不重复的行。
  • 输出控制:
    • -i:忽略大小写比较。
    • -f N:忽略每行的前 N 个字段(以空格分隔)。
    • -s N:忽略每行的前 N 个字符。
    • -z:用空字符而不是换行符分隔行(适用于某些特殊文件)。
  • 辅助选项:
    • --help:显示帮助信息。
    • --version:显示命令版本信息。

3. 用法举例
  • 去除重复行
    从文件中删除相邻的重复行:

    uniq file.txt
    
  • 统计重复行的次数
    在每行前添加重复次数:

    uniq -c file.txt
    
  • 仅显示重复的行

    uniq -d file.txt
    
  • 仅显示不重复的行

    uniq -u file.txt
    
  • 忽略大小写
    忽略大小写,删除重复行:

    uniq -i file.txt
    
  • 结合 sort 使用
    对非相邻重复行去重:

    sort file.txt | uniq
    
  • 忽略字段或字符
    忽略每行前 2 个字段进行比较:

    uniq -f 2 file.txt
    

    忽略每行前 3 个字符进行比较:

    uniq -s 3 file.txt
    
  • 输出到文件
    去重后将结果输出到新文件:

    uniq file.txt output.txt
    

4. 注意事项
  • uniq 只处理相邻的重复行,因此文件需要先用 sort 排序以确保重复行相邻。
  • -c-d 参数通常结合 sort 使用,以便统计所有重复行。
  • 忽略字段或字符时,必须正确理解分隔方式,默认以空格为字段分隔符。
  • 如果文件中存在空字符行,使用 -z 参数以适应特殊需求。

http://www.kler.cn/a/572831.html

相关文章:

  • 信创:信息技术应用创新产业
  • [Redis] 终极缓存四连杀:缓存预热、缓存击穿、缓存穿透、缓存雪崩,真的懂了吗?
  • 为什么过滤器需要一个 Wrapper 来 extends HttpServletRequestWrapper
  • 神经网络为什么要用 ReLU 增加非线性?
  • DeepSeek R1模型医疗机构本地化部署评估分析(Discuss V1版上)
  • 探索IntelliJ IDEA的Tongyi Lingma插件:AI编程助手的新体验
  • Java项目中ES作为时序库
  • PHP之常量
  • 基于 Kubernetes 搭建 DevOps 持续集成环境
  • DeepSeek基础学习:深度讲解AI大模型基本原理
  • Unity:物体指定初速度、方向移动方法
  • day1 第二次入门rust
  • dify、open-webui、chatbox 对比
  • MFC扩展库BCGControlBar Pro v36.1新版亮点 - 对话框表单组件升级
  • Linux 命令终极指南:分类详解与实战场景
  • 内核编程八:基于printk宏的pr_* 宏
  • Pywinauto Recorder: 将Windows操作转化为Python脚本,高效简易地实现操作自动化
  • 【单片机通信技术】STM32 HAL库 SPI主从机通过串口发送数据
  • ASP.NET Core 3.1 修改个别API返回JSON序列化格式
  • e2studio开发RA2E1(15)----配置RTC时钟及显示时间