awk案例练习

news2024/11/26 8:29:09

目录

一、awk练习

1.1筛选ip地址

1.2字段去重

1.3次数统计

 1.4统计TCP连接状态

 1.5处理字段缺失的数据

1.6筛选给定时间范围内的日志

一、awk练习

1.1筛选ip地址

ifconfig命令查看IP

 利用awk进行筛选

ifconfig  | awk 'BEGIN{RS=""}NR=2{print $6}'

RS指定输入记录换行符,当RS=""时,即输入换行符为\n,它指示AWK将连续的非空行组合成一个记录,这时就分为了三行,每一段一行,NR==2,代表第二行也就是第二段,$6代表第二行的以空格为间隔的第6个字段,也就是ip地址

1.2字段去重

 先随便创建个test练习,将下面内容写进去

2019-01-13_12:00_index?uid=123
2019-01-13_13:00_index?uid=123
2019-01-13_14:00_index?uid=333
2019-01-13_15:00_index?uid=9710
2019-01-14_12:00_index?uid=123
2019-01-14_13:00_index?uid=123
2019-01-15_14:00_index?uid=333
2019-01-16_15:00_index?uid=9710

 利用awk命令进行去重

awk -F"?" '{arr[$2]++;if(arr[$2]=1){print $0}}'  test  

-F"?"代表以?为输入字段分隔符,arr[$2]即arr[uid=xxx],

当字段第一次出现时,arr[$2]为0,++后为1,触发if条件,输出$0;

当字段第二次及n次出现时,arr[$2]已经等于1了,++后为2,无法触发if条件,无法输出

这样就达到了去重的效果


1.3次数统计

 依旧随意创建文本test

status
status
mountd
mountd
mountd
mountd
mountd
mountd
k8s
k8s
k8s
nfs
k8s
nfs
nfs_acl
nfs
nginx
nginx
nginx
docker
docker
docker
nfs_acl
nlockmgr
nlockmgr
nlockmgr
nlockmgr

status
status
mountd
mountd
mountd
mountd
mountd
mountd
k8s
k8s
k8s
nfs
k8s
nfs
nfs_acl
nfs
nginx
nginx
nginx
docker
docker
docker
nfs_acl
nlockmgr
nlockmgr
nlockmgr
nlockmgr
nlockmgrr
nlockmgstatus

利用cat 与awk 统计出现的次数

当字段第一次出现时,arr[$0]=0,++后为1,当出现第二次时,arr[$0]=1,++后为2,所以当第n次出现时,arr[$0]=n

END表示最后的操作,for(i in arr){print arr[i], i}表示打印键值和键名,即第一行的4 nfs

cat test | awk '{arr[$0]++}END{for(i in arr){print arr[i],i}}'

 1.4统计TCP连接状态

先用netstat -lntp查看

 再用以下命令统计

netstat -lntp | awk 'NR>2{arr[$6]++}END{for(i in arr){print arr[i],i}}'

NR>2代表处理大于第二行的记录,arr[$6]++代表统计tcp连接状态的次数,最后打印出来


 1.5处理字段缺失的数据

在test中随意输入一些数据

ID  name    gender  age  email          phone
1   Bob     male    28   abc@qq.com     18023394012
2   Alice   female  24   def@gmail.com  18084925203
3   Tony    male    21                  17048792503
4   Kevin   male    21   bbb@189.com    17023929033
5   Alex    male    18   ccc@xyz.com    18185904230
6   Andy    female       ddd@139.com    18923902352
7   Jerry   female  25   exdsa@189.com  18785234906
8   Peter   male    20   bax@qq.com     17729348758
9   Steven          23   bc@sohu.com    15947893212
10  Bruce   female  27   bcbd@139.com   13942943905
awk '{print $6}' test

这里如果想打印电话,直接打印$6是不行的,因为有些记录是没有$6的,所以可以通过if条件,判断如果$5是以0-9开头的,那就打印$5,否则就打印$

 awk '{if($5 ~ /^[0-9]/){print $5}else{print $6}}' test

1.6筛选给定时间范围内的日志

随便找的之前的防火墙日志

 

是"-F-"以短横线为字段分隔符,使用if判断来输出一月份的日志

 awk -F- '{if($2<=1){print $0}}' test

 

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

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

相关文章

找工作的才是大爷?面试了一个工作4年的测试工程师,一问连自动化基础都不清楚,还反过来怼我....

我们公司也开始大量招人了&#xff0c;我这次是公司招聘的面试官之一&#xff0c;主要负责一些技术上的考核&#xff0c;这段时间还真让我碰到了不少奇葩求职者 昨天公司的HR小席刚跟我吐槽&#xff1a;这几个星期没有哪天不加班的&#xff01;各种招聘网站上的消息源源不断&a…

干货分享 | TSMaster图形模块功能详解(三)—— 以CAN信号为例

TSMaster图形模块功能详解第二章节中&#xff0c;我们主要分享了显示模式、图形设置、信号跳转与波形窗口移动、信号波形缩放4大模块的操作教程。 本章节在上一篇基础上&#xff0c;继续介绍TSMaster图形模块功能第11-15模块的教程。 本文目录&#xff1a; 11、适配 11.1 水平…

基于JavaWeb的家居电子商城管理系统

家居电子商城HOMEECMS 大二下的JavaWeb小学期课程写的一个家居电子商城管理系统&#xff0c;没有spring框架&#xff0c;纯servlet&#xff0c;线上家居电子商城系统&#xff0c;主要实现了用户注册&#xff0c;登录、浏览&#xff0c;查看家居商品信息&#xff0c;购物车&…

元宇宙3D数字虚拟客服打造年轻化、数字化营销新品牌

融合了元宇宙、AI和云计算等技术的虚拟数字人&#xff0c;成为元宇宙数字内容交互的载体&#xff0c;将现实世界中的人与虚拟数字世界的场景、模型及产品链接起来&#xff0c;特别是为电力企业打造的电力元宇宙平台&#xff0c;带来营销宣传多重好处的同时&#xff0c;树立了数…

什么?200?跨域?

情景复现 今天我遇到了一件很奇怪的事情就是&#xff0c;当我请求后端网关&#xff0c;然后通过网关去请求相应的服务&#xff0c;都进行了跨域处理 但是&#xff0c;奇怪的是我在请求的时候&#xff0c;回来的响应码是200&#xff0c;但是报错了&#xff0c;报的还是200的同…

基于微服务架构的智慧工地云平台系统源码

Spring Cloud 智慧工地源码&#xff0c;智慧建造源码 系统概述&#xff1a; 智慧工地云平台系统&#xff0c;依托计算机技术、物联网、云计算、大数据、人工智能、VR&AR等技术相结合&#xff0c;对建筑工地中的管理人员、施工人员、车辆/物料、施工设备、视频监控等数据有…

模仿火星科技 基于cesium+角度测量+高度测量+可编辑

1. 创建提示窗&#xff1a; 启动Cesium应用&#xff0c;地图场景将打开&#xff0c;欢迎您进入编辑模式。 在屏幕的一角&#xff0c;一个友好的提示窗将呈现&#xff0c;随着您的操作&#xff0c;它会为您提供有用的信息和指导。 2. 绘制面积&#xff1a; 轻轻点击鼠标左键&a…

华为OD机试真题 Java 实现【疫情扩散时间计算】【2023 B卷 200分】,附详细解题思路

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

【Python学习笔记】Matplotlib画图

Matplotlib画图 一、基本函数1. plt.plot2. plt.text3. 设置刻度4. 设置坐标5.设置网格 二、绘制折线图三、绘制散点图四、绘制柱状图五、绘制双坐标图 一、基本函数 1. plt.plot 参数功能选项color改变折线颜色‘r’,‘g’,‘b’,‘black’,‘gray’marker改变数据点的形状‘…

固态硬盘 vs 机械硬盘:选择合适的存储方案

随着计算机的快速发展&#xff0c;各种硬件组件如CPU、显卡以及制作工艺都取得了长足的进步&#xff0c;但是磁盘的发展相对较为缓慢&#xff0c;这也导致了磁盘性能在一定程度上限制了计算机的整体性能。为了解决这个问题&#xff0c;固态硬盘应运而生。 那么&#xff0c;我们…

(亲测)制作linux启动U盘

下载软碟通 https://cn.ultraiso.net/xiazai.html 点击文件中的打开&#xff0c;选中Linux系统 插入U盘&#xff0c;点击启动中的写入硬盘映像 点击之后会自动选中U盘。界面如下&#xff1a; 点击写入&#xff0c;点击后U盘会格式化&#xff0c;所以U盘里面有重要东西的话…

中国金融四十人论坛:2023年第二季度宏观政策报告(附下载)

关于报告的所有内容&#xff0c;公众【营销人星球】获取下载查看 核心观点 • 运行环境&#xff1a;外部环境方面&#xff0c;全球经济景气回落&#xff0c;会酸交作仍在收秀。内部环演方百&#xff0c;公共支出进一步旅爱&#xff0c;真交利本显考上开&#xff0c;社酸塔这创…

neo4j终端操作

1】进入容器 (base) xiaokkkxiaokkkdeMacBook-Pro ~ % docker exec -it 77ed5fe2b52e /bin/bash 2】启动、停止neo4j root77ed5fe2b52e:/var/lib/neo4j/bin# ./neo4j start Neo4j is already running (pid:7). Run with --verbose for a more detailed error message.root7…

项目实战 — 消息队列(6){内存数据管理}

目录 一、设计数据结构 二 、实现管理方法 &#x1f345; 1、实现交换机管理 &#x1f345; 2、实现队列管理 &#x1f345; 3、实现绑定管理 &#x1f388;插入绑定操作 &#x1f388;删除绑定 &#x1f345; 4、进行消息管理 &#x1f345; 5、发送消息到指定队列 &a…

英文音频转文字app让音频秒变文字

小明是一名大学生&#xff0c;他在上大学的时候经常需要通过听老师讲课来获取知识。但是&#xff0c;他发现自己很难在听课的同时完整地记录下老师所讲的内容。于是&#xff0c;他开始寻找音频转文字手机软件有哪些。经过一段时间的探索&#xff0c;他找到了三款不错的软件&…

我开源的 c#+wpf 模仿网易云音乐播放器

MusicApp 介绍 gitee地址&#xff1a;https://gitee.com/liu_guo_feng/music-app 我开源的 c#wpf 模仿网易云音乐播放器 项目页面功能完成列表 首页(待完善) 每日推荐音乐 歌单详情 带播放列表 歌词页(待完善) 换肤功能(待完善) 系统托盘 … 预览 仅供学习使用 不作任何商业用…

查看单元测试用例覆盖率新姿势:IDEA 集成 JaCoCo

1、什么是 IDEA IDEA 全称 IntelliJ IDEA&#xff0c;是 Java 编程语言开发的集成环境。IntelliJ 在业界被公认为最好的 Java 开发工具&#xff0c;尤其在智能代码助手、代码自动提示、重构、JavaEE 支持、各类版本工具(git、SVN 等)、JUnit、CVS 整合、代码分析、 创新的 GUI…

Python入门自学进阶-Web框架——39、redis、rabbitmq、git——2

RabbitMQ的exchange&#xff0c;即交换机有不同的类型&#xff1a; 1.direct Exchange(直接交换机) 匹配路由键&#xff0c;只有完全匹配消息才会被转发 2.Fanout Excange&#xff08;扇出交换机&#xff09; 将消息发送至所有的队列 3.Topic Exchange(主题交换机) 将路由按模…

【机器学习 | 决策树】利用数据的潜力:用决策树解锁洞察力

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

山东气象 × 和鲸科技:第一届齐鲁风云气象智能算法挑战赛圆满收官

7 月 20 日&#xff0c;中国气象局印发《人工智能气象应用工作方案&#xff08;2023 - 2030年&#xff09;》&#xff0c;旨在加快布局国产人工智能气象应用技术体系建设&#xff0c;推动人工智能技术在气象观测、预报及服务中的深度融合应用&#xff0c;为监测精密、预报精准、…