linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)

news2024/9/22 9:58:25

linux常用命令介绍 05 篇——实际应用篇(用 cut、uniq等统计文档里每个关键词出现的次数)

  • 1. 先导文章——关于行过滤 和 列截取
  • 2. 关于单个统计单词个数
    • 2.1 grep
    • 2.2 wc
  • 3. 统计文档中每个关键词出现的次数
    • 3.1 先看文档内容 + 需求
      • 3.1.1 文档内容
      • 3.1.2 需求
    • 3.2 分析并实现需求

1. 先导文章——关于行过滤 和 列截取

  • 前几天被问到一个问题,之前没用过,感觉挺尴尬的,束手无策,今天抽空去了解一下,其实就两三个命令的事,不过感觉也挺有意思的,顺便记录下来,供大家参考。

  • 看这篇文章之前用到了其他工具,如果需要的话,可以看看下面的文章:

    linux常用命令介绍 03 篇——常用的文本处理工具之grep和cut(以及部分正则使用).

2. 关于单个统计单词个数

2.1 grep

  • 上篇文章里有介绍,可以使用grep -c的命令进行统计,如下:
    grep -c 'www.google.com' http.txt
    
    在这里插入图片描述

2.2 wc

  • wc 统计使用选项如下:
    1. wc -l:统计单词出现的行次数
    2. wc -w:统计单词出现的次数
  • 使用例子如下:
    grep 'www.google.com' http2.txt | wc -w
    grep 'www.google.com' http2.txt | wc -l
    cat http2.txt | grep '8080' | wc -w
    
    在这里插入图片描述

3. 统计文档中每个关键词出现的次数

3.1 先看文档内容 + 需求

3.1.1 文档内容

  • 文档内容如下:
    在这里插入图片描述
    https://www.google.com/index.html
    https://www.baidu.com/index.html
    https://www.zhihu.com/
    https://www.csdn.net/
    https://weread.qq.com/
    https://www.baidu.com/hello.html
    http://localhost:8080/hello.html
    https://www.google.com/en.html
    https://www.google.com/cn.html
    

3.1.2 需求

  • 想实现的需求就是,把上面文档里的所有域名进行统计,并排序打印,要实现如下的效果(前面是域名出现的次数,后面是域名):
    在这里插入图片描述

3.2 分析并实现需求

  • 观察文档里的内容,分析如下:
  1. 第一步列截取域名
    • 首先,我们提取的有规律,是域名,所以根据文档里内容的规律,考虑使用列截取方法,使用 cut 工具。此处不熟悉的可以点进去上面的链接。
    • 二话不说,执行命令,先看第一步效果:
      cut -d'/' -f3 http.txt
      
      在这里插入图片描述
      嗯,还不错,浓缩出精华来了,但是 localhost:8080 不是我们想要的,怎么处理,接下来第二步……
  2. 第二步行过滤掉非域名 localhost:8080
    • 根据第一步的效果,我们在第二步里要把 localhost:8080 这个就要用到我们的 grep 行过滤了,不太清楚的话,还是点进去上面的链接,这里不多说,直接看效果:

      cut -d'/' -f3 http.txt | grep -v 'localhost'
      

      在这里插入图片描述
      嗯,貌似也还不错,至少达到了我们第二步想要的效果了,好,接下来就是怎么统计并排序了,这就需要用到我们另一个命令了,uniq,关于这个命令的使用可以看下面的文章,在这里不做介绍,如下:

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

  3. 第三步:使用 uniq 命令 和 sort 命令进行排序并统计
    • 对这两命令有疑问的,点上面的链接,里面有详细的介绍与使用示例。
    • 下面直接看效果:
      cut -d'/' -f3 http.txt | grep -v 'localhost' | sort
      cut -d'/' -f3 http.txt | grep -v 'localhost' | sort | uniq -c
      
      在这里插入图片描述
      好,几乎接近我们要实现的目标了,就差怎么把前面统计的数字也给排序一下了,继续往下……
  4. 第四步:按域名统计个数的数字大小进行排序
    • 这步就是在上面基础上再使用一次 sort 即可,生序、降序都可实现,效果如下:
      cut -d'/' -f3 http.txt | grep -v 'localhost' | sort | uniq -c | sort
      cut -d'/' -f3 http.txt | grep -v 'localhost' | sort | uniq -c | sort -r
      
      在这里插入图片描述
      好了,到这里就是完美地实现了上面的需求了!!
  5. 第五步:可了解
    • 当然,上面四步已经实现了需求,下面这个只是了解,我就方上效果,可以看看:
      cut -d'/' -f3 http.txt | grep -v 'localhost' | sort | uniq -c | sort -r | awk '{print $2,$1}'
      cut -d'/' -f3 http.txt | grep -v 'localhost' | sort | uniq -c | sort -r | awk '{print $1,$2}'
      
      在这里插入图片描述
      好了,这个就介绍到这里吧,希望对你有帮助!

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

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

相关文章

系列十、锁

一、概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问…

热烈祝贺|济南市时代酒具盛装亮相2023中国(山东)精酿啤酒产业发展创新论坛暨展览会

济南市时代酒具制造股份有限公司成立于2010年,注册资金600万,员工100余人,占地30余亩,是山东省济南市一家专业的塑料产品生产厂家。主营酒塔、分酒器、混饮塔、果汁塔、橡木桶等系列酒具。经过十余年的发展,公司组建了…

201_DMA-BUF简单简介

一、DMA-BUF等概念的介绍 首先需要明确DMA-BUF,Dma buffer,ION和DMA-BUF Heap是不同的概念。 在Android 多媒体系统中为了减少因不同进程之间内存的多次拷贝而产生的不必要的开销,最直接的想法是希望跟硬件设备进行交互的应用能有一个内存能…

离线安装samba与配置(.tar方式安装)

一、samba离线安装【安装并设置成功后,相关文件及其位置:①smbd:/usr/local/samba/sbin/smbd②nmdb:/usr/local/samba/sbin/nmbd③配置文件 smb.conf:/usr/local/samba/lib/smb.conf④添加用户的 smbpasswd 文件&#…

Java并发简介(什么是并发)

文章目录并发概念并发和并行同步和异步阻塞和非阻塞进程和线程竞态条件和临界区管程并发的特点提升资源利用率程序响应更快并发的问题安全性问题缓存导致的可见性问题线程切换带来的原子性问题编译优化带来的有序性问题保证并发安全的思路互斥同步(阻塞同步&#xf…

Delphi 中 FireDAC 数据库连接(处理错误)

参见:Delphi 中 FireDAC 数据库连接(总览)本主题描述了如何用FireDAC处理数据库错误。一、概述EFDDBEngineException类是所有DBMS异常的基类。单个异常对象是一个数据库错误的集合,可以通过EFDDBEngineException.Errors[]属性访问…

第十届蓝桥杯省赛——6旋转(二维数组,找规律)

题目:试题 F: 旋转时间限制: 1.0s 内存限制: 512.0MB 本题总分:15 分【问题描述】图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时针旋转 90 度。我们用一个 n m 的二维数组来表示一个图片,例如下面…

什么是项目管理资格认证

项目管理资格认证是项目管理协会(PMI)在全球范围内推出的针对项目经理的资格认证体系,包括项目管理专业人士(PMP)认证、PMI敏捷管理专业人士(PMI-ACP)认证、PMI商业分析专业人士(PMI-PBA)认证、项目集管理专业人士&…

驱动器,DRV10975ZRHFR原理图DRV83055QPHPRQ1规格参数

DRV10975器件是一款具有集成功率MOSFET的三相无传感器电机驱动器,可提供高达1.5A的持续驱动电流。该器件专为成本敏感型、低噪声、低外部组件数量应用而设计。DRV10975(明佳达电子)DRV10975ZRHFR IC MTR DRV MULTPHS 6.5-18V 24QFN电机类型 -…

拿下3个大厂offer的软件测试面试宝典,面试一文搞定

我是谁、工作几年、你上家公司做什么、负责什么、你的优势、为什么适合这个职位、我想做什么、在这个职位上想得到什么 【呕心沥血】耗时7天整理的金三银四必看的软件测试频面试题 涵盖 接口自动化测试框架面试题_哔哩哔哩_bilibili【呕心沥血】耗时7天整理的金三银四必看的软…

day26 员工薪水中位数

569. 员工薪水中位数 写一个SQL查询,找出每个公司的工资中位数。 以 任意顺序 返回结果表。 查询结果格式如下所示。 SQL:方法一 select id, company, salary from (selectid, company, salary,row_number() over(partition by company order by s…

aws batch 理解batch中的任务调度策略

参考资料 https://docs.amazonaws.cn/en_us/batch/latest/userguide/job_queue_parameters.html#job_queue_scheduling_policy https://docs.amazonaws.cn/en_us/batch/latest/userguide/scheduling-policies.html https://catalog.us-east-1.prod.workshops.aws/workshops/c…

【Python实战】快看:”又中奖了,中大奖了“周围的小伙伴都惊呆了~你还不麻溜滴~(代码版彩票小游戏上线啦)

导语 哈喽!北鼻们,晚上好。 夕阳🌇的第一缕阳光送给小可爱们~每天都要加油鸭! 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 彩票是一个恒古不…

206页16万字城市运行“一网统管”体系建设项目需求报告

本资料来源网络,知识分享,仅供个人学习,请勿商用。完整资料领取见文末,部分资料内容: 第 一 章 应用场景示例 一.1 一卡通人员管理针对企业厂区、办公楼等场所人员出入频繁、安保问题多样化、管理环节复杂等现状&#…

文科生比不过理科生,转码IT互联网将成趋势?

今天看到“文科生转码或成趋势”的话题,觉得还是非常有意思哈,所以来聊聊看~ 值得一提的是,虽然现在高中考试改制后,已不再区分文理科生(理化生史地政6选3),但是大学本科及研究生以上&#xff…

最小基因变化

基因序列可以表示为一条由 8 个字符组成的字符串,其中每个字符都是 A、C、G 和 T 之一。 假设我们需要调查从基因序列 start 变为 end 所发生的基因变化。一次基因变化就意味着这个基因序列中的一个字符发生了变化。 例如,"AACCGGTT" -->…

设计模式-工作线程 创建多少线程池合适

1、定义 让有限的工作线程(Worker Thread)来轮流异步处理无限多的任务。也可以将其归类为分工模式,它的典型实现就是线程池,也体现了经典设计模式中的享元模式(重用对象)。 例如,海底捞的服务员(线程),轮流…

“数字档案室测评”相关参考依据梳理

数字档案室建设无疑比数字档案馆建设应用范围更为广泛,涉及的单位类型和专业领域也更多。这一点从国家档案局的机构设置上也可以看出端倪: 国家档案局两个内设业务指导司中,档案馆(室)业务指导司主要针对档案馆和机关档案室,而经济…

【Linux】磁盘结构、文件系统、软硬链接、动静态库链接

文章目录1、磁盘结构1.1 磁盘的物理结构1.2 磁盘的存储结构1.3 磁盘的逻辑结构2、文件系统2.1 4KB加载到内存2.2 文件系统结构3、软硬链接3.1 软链接3.2 硬链接4、动静态库4.1 什么是库?4.2 静态库和静态库链接4.3 动态库和动态库链接4.4 动静态库的加载下面了解到&…

python GUI图形化编程-----wxpython

一、python gui(图形化)模块介绍: Tkinter :是python最简单的图形化模块,总共只有14种组建 Pyqt :是python最复杂也是使用最广泛的图形化 Wx :是python当中居中的一个图形化,学习结构很清晰 Pywin :是pyth…