linux常用命令介绍 04 篇——uniq命令使用介绍(Linux重复数据的统计处理)

news2024/9/20 15:31:34

linux常用命令介绍 04 篇——uniq命令使用介绍(Linux重复数据的统计处理)

  • 1. uniq 使用语法
  • 2. sort 简单效果
  • 3. uniq 使用例子
    • 3.1 不加任何选项
      • 3.1.1 不用 sort 效果
      • 3.1.2 uniq 结合 sort 一起使用
    • 3.2 使用选项例子
      • 3.2.1 去重打印(或打印不重复行)
      • 3.2.2 重复统计问题(`-c`选项)

1. uniq 使用语法

  • uniq 常用于重复数据的处理

  • 语法:

    uniq 文件名
    uniq [选项] 文件名
    
  • 常见选项:

    -D :仅显示重复的行,且打印重复行的所有行
    -d :仅显示重复的行,且每个重复的行只打印一次
    -u :只打印不重复的行
    
  • 使用注意事项:一般使用时,结合 sort 一起使用,sort 用来排序,结合使用的效果是:主要处理文档中不相邻的重复行。当然,如果没有不相邻的重复行,可以 uniq 单独使用,但是为了避免结果出现不准确性,尽量结合起来使用。

    下面案例会让你体会到 sort 的重要性,往下看吧……

2. sort 简单效果

  • sort 实现排序效果,即把相同的行排在一起,不多说,简单看一个效果即可,如下:
    sort bb.txt
    
    在这里插入图片描述

3. uniq 使用例子

3.1 不加任何选项

3.1.1 不用 sort 效果

  • uniq 不加任何选项的时候,是直接默认去重打印,但是只针对相邻的重复行,不相邻的重复行失效,如下:
    uniq bb.txt
    
    在这里插入图片描述

3.1.2 uniq 结合 sort 一起使用

  • 再看一下结合 sort 使用的效果,先排序后去重,实现了重复内容的真正去重,效果如下
    sort bb.txt |uniq
    cat bb.txt | sort| uniq
    
    在这里插入图片描述

3.2 使用选项例子

  • 下面的例子也是要结合 sort 同时使用的,我们只演示第一个 -D 选项后面的就直接都加 sort 了。

3.2.1 去重打印(或打印不重复行)

  1. -D:仅显示重复的行,且打印重复行的所有行,即:重复多少次打印多少行
    • 看图说话,一看就,示例如下:
      uniq -D bb.txt
      sort bb.txt | uniq -D
      
      在这里插入图片描述
  2. -d:仅显示重复的行,且每个重复的行只打印一次
    • 示例如下:
      sort bb.txt | uniq -d
      
      在这里插入图片描述
  3. -u:只打印不重复的行
    • 示例如下:
      sort bb.txt | uniq -u
      
      在这里插入图片描述

3.2.2 重复统计问题(-c选项)

  • 跟上面的一样,还是要结合 sort 一起使用的
    • 先看第一个直接统计的效果:
      cat bb.txt | sort | uniq -c
      
      在这里插入图片描述
      上面的统计结果没问题,但是排序稍微有点不舒服,那继续优化一下吧……
    • 再看一个将统计后数字按大小排序的结果:
      根据上面我们对 sort 的理解,将上面的结果再次使用一下(使用sort -r 还能降序),就完美达到了我们的要求,如下:
      cat bb.txt | sort | uniq -c | sort
      cat bb.txt | sort | uniq -c | sort -r
      
      在这里插入图片描述
    • 你还可以再用 awk 再简单处理一下,如下:
      cat bb.txt | sort | uniq -c | sort -r | awk '{print $2,$1}'
      cat bb.txt | sort | uniq -c | sort -r | awk '{print $1,$2}'
      
      在这里插入图片描述
  • 当然,你也可以使用 awk 工具写个脚本跑一下,今天先到这里,这个后续再说,自己可以搞一搞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/384157.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

12 nuxt3学习(配置)

链接: nuxt3官网 nuxt简介 vue3技术栈:Nuxt3 是基于 Vue3 Vue Router Vite 等技术栈,全程 Vue3Vite 开发体验(Fast)。自动导包:Nuxt 会自动导入辅助函数、组合 API和 Vue API ,无需手动导入。 基于规范…

卡方分布、非中心卡方分布详解 (概念、求阈值方法、非中心化参数求解办法等)

一、相关概念 1、卡方分布 若n个 相互独立 的随机变量 ξ₁、ξ₂、……、ξn ,均服从 标准正态分布N(0,1),则这n个服从标准正态分布的随机变量的 平方和 构成一新的随机变量,其分布规律称为卡方分布(chi-squaredistribution);其中参数n称为自由度(通俗讲,样本中独立…

有关数据库的一级、二级、三级封锁协议

一级封锁协议 一级封锁协议是指,事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK).一级封锁协议可防止丢失修改,并保证事务T是可恢复的。在…

SpringBoot热部署

启动热部署 关于热部署 重启(Restart):自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器重载(ReLoad):jar包,加载位置base类加载器开启开发者工具 导…

gma 地理空间绘图:(1) 绘制简单的世界地图-2.设置经纬网

内容回顾 gma 地理空间绘图:(1)绘制简单的世界地图-1.地图绘制与细节调整 方法 AddGridLines(LONRange (-180, 180, 15), LATRange (-90, 90, 15), ShowLON True, ShowLAT True, LineColor ‘gray’, LineStyle (0, (6, 6)), LineWidth 0.3) 功能&#xf…

10种常见网站安全攻击手段及防御方法

在某种程度上,互联网上的每个网站都容易遭受安全攻击。从人为失误到网络罪犯团伙发起的复杂攻击均在威胁范围之内。 网络攻击者最主要的动机是求财。无论你运营的是电子商务项目还是简单的小型商业网站,潜在攻击的风险就在那里。 知己知彼百战不殆&…

MOA-30kV氧化锌避雷器泄露电流测试仪

一、概述 用于检测10kV及以下电力系统用无间隙氧化锌避雷器MOA阀电间接触不良的内部缺陷,测量MOA的直流参考电压(U1mA)和0.75 U1mA下的泄漏电流。该仪器将直流高压电源、测量和控制系统组成一体,元件浓缩在一个机箱内&#xff0c…

JS混淆加密:Eval的未公开用法

JavaScript奇技淫巧:Eval的未公开用法 作者:http://JShaman.com w2sft,转载请保留此信息很多人都知道,Eval是用来执行JS代码的,可以执行运算、可以输出结果。 但它还有一种未公开的用途,想必很少有人用过。…

【计算机网络】数据链路层:组帧,奇偶校验,CRC循环冗余校验,海明码详解

数据链路层 一、校验 1. 奇偶校验 偶校验 数据位和为偶数:校验位为0;数据位和为奇数:校验位为1; 奇校验 数据位和为奇数:校验位为0;数据位和为偶数:校验位为1; 缺点是会存在误判…

【Autoware】采集实验数据bag包并仿真运行

文章目录1. 官方demo包2. 控制底层地图采集3. 感知定位4. 规划控制5. 仿真或实车运行1. 官方demo包 wget http://db3.ertl.jp/autoware/sample_data/sample_moriyama_data.tar.gz wget http://db3.ertl.jp/autoware/sample_data/sample_moriyama_150324.tar.gz官方示例包的网上…

iPhone屏蔽APP广告的方法

iPhone怎么屏蔽网站(域名)? 操作步骤:“设置” -> “屏幕使用时间” -> “打开屏幕使用时间” -> “内容和隐私访问限制” -> “内容访问限制” -> “网页内容” -> “限制成人网站” -> “永不允许”, 添加需要屏蔽的网站或者域名…

项目开发过程中实际遇到的几个问题处理

1、今天开发环境运行的时候出现下面问题 The project cannot be built until build path errors are resolved. 出现报错情况,之前也没有遇到过。 根据字面意思“在解决生成路径的错误之前,无法生成项目”,也就是说项目的路径位置配置错误…

【论文速递】CVPR2021 - 基于自引导和交叉引导的小样本分割算法

【论文速递】CVPR2021 - 基于自引导和交叉引导的小样本分割算法 【论文原文】:Self-Guided and Cross-Guided Learning for Few-Shot Segmentation 【作者信息】:Bingfeng Zhang, Jimin Xiao , Terry Qin 获取地址:https://openaccess.the…

来香港饮茶吹水先,免费报名Zabbix Meetup香港站!

Zabbix Meetup 来到香港啦! 春暖花开,Zabbix计划5月来到香港,和你一起饮茶吹水! 时间:5月某日,周几方便? 预计14:00-17:00 形式:线下交流会,免费,线下&…

测评自养号优势,亚马逊,速卖通、美客多、Newegg等跨境卖家必看!

随着跨境电商的发展,越来越多有实力的商家加入到跨境电商的行列,导致行业竞争越来越大,成本投入也越来越高,原来的跨境蓝海已经变红海,卖家都不得不靠“烧钱”来提升排名,吸引流量从而维持销量。那么卖家如…

企业电子招投标采购系统——功能模块功能描述

​ 功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外…

Python数据工程师与数据分析有什么区别?

不少朋友都很困惑,大数据工程师和Python的数据分析师有什么区别,哪一个的就业好薪资高?现在我们一起来探讨下这个问题。 首先我们来区别下大数据工程师和数据分析师: 1、概念区别 Python数据分析师培训出来的数据分析师&#x…

1-springboot基础-练习

1-spring stater project创建 设置springboot项目的下载地址:https://start.aliyun.com/ 创建项目 创建HelloController RestController publicclass HelloController {GetMapping("/hello")public String hello() {return "hello Spring Boot"…

AcWing蓝桥杯辅导课:第三讲 数学与简单DP

AcWing 1205. 买不到的数目 思路: 裴蜀定理: 对任何整数aaa、bbb,存在整数xxx、yyy,使得axby(a,b)ax by (a, b)axby(a,b), (a,b)(a, b)(a,b)表示aaa、bbb的最大公因数,令d(a,b)d(a, b)d(a,b)。若 d1d 1d1&#xff…

Mysql-DML语句

DML语句 数据操作语言DML(Data Manipulation Langua) 是SQL语言的一个分类,用于对表的数据进行增,删,改,查 创建表 CREATE TABLE 语句用于创建数据库中的表。 语法: CREATE TABLE 表名称 ( …