百度
360搜索
搜狗搜索

linux怎么去重复值详细介绍

在 Linux 中去除重复值(通常指文本文件的重复行),可根据场景选择以下方法:

一、基础用法:
uniq(处理
相邻重复行)

bash

 file.txt    

  • 原理uniq 仅删除连续重复的行,需配合 sort 预处理。
  • 示例(输入文件内容):plaintext
    apple

    banana

    apple # 非相邻重复,不会被 uniq 处理

    执行 sort file.txt | uniq 后输出:plaintext

    apple

    banana

二、删除
所有重复行(无论是否相邻)

bash

  file.txt  

  • -u 选项:等价于 sort file.txt | uniq,一步完成排序 + 去重。
  • 示例:bash
      b\na"     

三、高级场景:保留 / 显示重复信息

  1. 显示重复次数
    bash
     file.txt     

  2. 仅保留重复行
    bash
     file.txt     

  3. 仅保留唯一行
    bash
     file.txt     

四、不依赖排序:用
awk 去重(适合内存足够的小文件)

bash

  file.txt  

  • 特点:无需排序,可保留原始顺序,但内存占用随文件增大而增加。
  • 示例:bash
      b\na"     

五、注意事项

  1. 大小写敏感:默认区分大小写,加 -i 忽略(如 uniq -i)。
  2. 字段去重:若需按列去重(如第一列),先用 sort -k1 按列排序。
  3. 大文件处理sortuniq 基于磁盘排序,适合 GB 级文件;awk 依赖内存,慎用。

总结表格

场景 命令 说明
去除相邻重复行 `sort file uniq` 最常用,需先排序
去除所有重复行 sort -u file 等价于排序 + 去重
显示重复次数 `sort file uniq -c` 前缀数字为重复次数
保留唯一行 `sort file uniq -u` 仅输出出现一次的行
保留原始顺序去重 awk '!seen[$0]++' file 适合小文件,不排序

根据需求选择即可,sort + uniq 是最通用的方案。

阅读更多 >>>  linux怎么查看文件的硬链接

网站数据信息

"linux怎么去重复值"浏览人数已经达到20次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux怎么去重复值的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!