小白到运维工程师自学之路 第五十二集 (三剑客之awk)

news2024/11/24 9:49:47

一、概述

awk命令是一种在Unix或类Unix系统上使用的文本处理工具。它以行为单位读取输入文件,按照预定义规则对每一行进行处理并生成输出。

通过使用一种简单的编程语言,awk提供了对文本数据进行过滤、处理和转换的强大能力。它可以轻松地提取文本中的特定字段、计算和操作数据、执行条件判断、循环处理等。

二、作用流程

1、读取输入文件:awk以逐行的方式读取输入文件。输入文件可以通过管道传递给awk,也可以作为awk命令的参数。

2、匹配模式:对于每一行,awk会尝试将该行与指定的模式进行匹配。模式可以是正则表达式,也可以是字符串等。

3、执行操作:如果当前行满足匹配模式,awk将执行相应的操作。操作可以是打印行、修改行的内容、计算数据等。

4、循环处理:awk会自动处理输入文件的每一行,重复执行匹配和操作的过程,直到处理完所有行。

5、输出结果:在处理完所有行之后,awk将输出根据操作生成的结果。默认情况下,结果会打印到标准输出(即终端),但也可以重定向到文件或通过管道传递给其他命令。

三、awk的使用

awk格式:awk '作用行 变量' 要修改的文件

awk 'FS'    文本字段的分割符,可以使用空格为占位符

awk 'NF'  过滤空行 

这个命令使用了一个内置变量 NF,它表示当前行中的字段数量。如果字段数量不为零(即非空行),则条件为真。因此,它也会打印所有空行。

 

awk 'NR'  处理数据的行号

awk '$0' 处理整行的数据

这个命令使用了一个条件表达式,即整行内容 $0。如果整行内容不为空,则条件为真。因此,它会打印所有非空行。

 

awk '{print $n}'    处理数据行第几列的数据 这里n代表的是列  

 四、配合awk使用的命令

sort  这个命令用于排序 (默认顺序是:字符、数字、字母)

sort -n  按照顺序进行排序

sort -r 按照逆序进行排序

uniq -c 命令是用来去重 统计次数的

这里可以看到统计我使用次数最多的前五个命令

history | awk '{print $2}' | sort | uniq -c |sort -nr |head -5
首先使用history查看使用过的命令
awk '{print $2}' 用于查看第二列
sort 进行第一次排序
uniq -c 进行去重统计
sort -nr 进行逆序排序
head -5 查看前五行

五、三剑客使用实例

这是一个朋友在上班的时候服务器被攻击了,然后用三剑客查找是哪个IP进行的攻击就用到了以下的命令

cat /var/log/httpd/access_log | grep `date "+%d"` | awk '{print $1}'| sort | uniq -c |sort -nr | head -5
cat用来输出日志
grep筛选当天的日志
awk单独筛选出ip
sort进行排序
uniq -c 进行去重
sort -nr 再进行逆序查看谁访问的最多
head -5 查看前五行

 

awk的使用方式多种多样,我所展示的只是基础的操作

如有错误欢迎各位大佬批评指正,我们共同进步

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

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

相关文章

实验四 交换机 VLAN 配置

文章目录 实验目的实验原理实验内容实验总结 实验目的 理解 VLAN 的概念、原理;掌握基于交换机端口的 VLAN 划分方法;掌握 Cisco2950 交换机的单交换机和跨交换机 VLAN 配置方法。 实验原理 (1)VLAN 的概念 VLAN(Vi…

CQ 社区版 2.2.0 发布 | 配置要求降为 4 核 16G!!!

🎉🎉🎉 喜大普奔!!! 经过我们研发团队的不断努力,CloudQuery 终于「瘦身」成功啦!!! 本次发布的 v2.2.0 版本,推荐配置降为: CPU&a…

【iOS内存管理-内存的几大区域】

前言 iOS内存管理的第一篇章,了解iOS内存的五大分区。 总览 iOS中,内存主要分为五大区域:栈区,堆区,全局区/静态区,常量区和代码区。总览图如下。 如上图所示,代码区是在低地址段存放&#x…

关于AWS MSK Connector Execution Role的解释

尽管在创建AWS MSK Connector时,Execution Role是一个必填项,就像下面这样: 并且在官方文档中给出的Execution Role样例: https://docs.aws.amazon.com/msk/latest/developerguide/msk-connect-service-execution-role.html 中也…

基于JSP+Servlet的学生信息管理系统

用户类型:三角色(学生、教师、管理员) 项目架构:B/S架构 设计思想:MVC 开发语言:Java语言 前端技术:Layui、HTML、CSS、JS、JQuery、Ajax等技术 后端技术:JSP、Servlet、JDBC、…

基于JSP+Servlet的医药药品管理系统

用户类型:双角色角色(患者、管理员[医生]) 设计模式:MVC(jspservletjavabean) 项目架构:B/S架构 开发语言:Java语言 主要技术:jsp、servlet、jdbc、jsp、html5、jquery、css、js…

【哈希表/字符串-简单】LeetCode 205 同构字符串 Java

需要判断s和t每个位置上的字符是否都一一对应,即s的任意一个字符被t中唯一的字符对应,同时t的任意一个字符被s中唯一的字符对应。这也被称为【双射】的关系。 以示例二为例,t中的字符a和r虽然有唯一的映射o,但对于s中的字符o来说…

Vim批量注释与反注释

在使用vim编写代码的时候,经常需要用到批量注释与反注释一段代码。下面简要介绍其操作。本文记录在mac/linux下的vim批量注释。 一开始我想让vim配置ctrl/快捷键,快速批量注释,但是vim的文档中不支持这样的快捷键。 如果实在要弄也能弄&…

集群基础2——LVS负载均衡httpd服务(nat模式)

文章目录 一、环境说明一、配置调度器网卡二、配置后端服务器三、配置调度器四、验证五、设置https负载均衡 一、环境说明 使用lvs中的nat模型,对http负载均衡集群。 主机IP角色安装服务真实IP:192.168.161.129VIP:192.168.161.130调度服务器…

深信服 网络工程师面试题(二)

指针函数和函数指针的区别 指针函数是指带指针的函数,即本质是一个函数,函数返回类型是某一类型的指针。 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指…

牛客HJ99 - 自守数【暴力 + 换位取模】

原题传送门 原题描述 首先我们来看一下原题是怎么描述的,题面很简单,输入n,然后让我们去统计从1 ~ n之间的自守数有几个,那什么是【自守数】呢,上面也说到了,即一个数在平方之后该数的尾数等于该数自身的自…

榜单!高精定位模块/系统「争夺战」,份额Top5供应商都有谁

以当前国内车企落地高速NOA采用的主流方案为例,普遍采用了「高精定位高精地图车端传感器」的多源融合定位策略。其中,在高精定位部分,大部分采用GNSSIMURTK的方案。 从目前的智驾系统演进来看,主流的仍是在L2基础上,通…

k8s 基础命令和常用命令等

通过kubectl命令可以操作和管理K8S资源,对于初学者可以在掌握K8S基础命令的基础上再去学习K8s的原理和架构,那么K8S常用的命令有哪些呢? 01 K8S命令概述 在学习K8s基础命令前,了解和学习docker命令是很有必要的,kub…

c语言--unsigned修饰符

在C语言中,unsigned是一种无符号整数修饰符。它可以与多个整数类型(如int、short、long等)结合使用,表示该整数类型只包含非负数值。unsigned修饰的整数类型不保存正负号位,因此可以用来表示更大的正整数范围。 例如&…

干货分享|SOLIDWORKS Composer如何解决缺失的actor?

​SOLIDWORKS Composer导入SOLIDWORKS模型,以便用户可以创建图形内容并与更广泛的受众共享项目。但是,有时模型导入时缺少Actor或组件,通常是由于在SOLIDWORKS中以轻量模式加载组件或Composer中的导入设置排除了曲面实体。 轻量模式 轻量模式…

基于DEF生成LIB的方法

基于DEF生成LIB的方法 [生成64位lib] lib /def:libcurl-x64.def /MACHINE:x64 /OUT:libcurl-x64.lib[生成32位lib] lib /def:libcurl-x64.def /OUT:libcurl-x64.lib

flutter开发实战-生日等日期选择器DatePicker

flutter开发实战-生日等日期选择器DatePicker 在开发遇到设置生日等信息需要选择日期,这里用到的是CupertinoDatePicker iOS效果的日期、时间选择器 一、效果图 运行后效果图如下 二、代码实现 我们需要调用底部弹窗显示 //显示底部弹窗static void bottomShe…

07_flash全擦除实验

07_flash全擦除实验 1. SPI 协议1.1 SPI 协议1.2 SPI 物理层1.3 SPI 协议层1.3.1 SPI 通讯模式时序图1.3.2 CPHA0 时的 SPI 通讯模式1.3.3 CPHA1 时的 SPI 通讯模式 2. 实验目标3. SPI-Flash 芯片3.1 硬件资源3.2 板载 Flash 原理图3.3 操作时序3.3.1 全擦除时序3.3.2 写使能时…

天眼的使用指南,ngsoc告警分析

分以下几类讲,天眼的功能,日志分析字段,常见的烂分析,告警分析。两个实例;ngsoc的简单实用和告警分析。 #天眼功能 分为,分析平台,流量传感器,文件威胁鉴定器 #部署架构 高级危险…

大模型时代,腾讯云“复制”腾讯|WAIC2023

点击关注 文|郝鑫 编|刘雨琦 刚过去的WAIC(世界人工智能大会)俨然成为了大模型厂商的成果汇报大会。 百度文心大模型升级到3.5版本,训练速度提升2倍,推理速度提升30倍;华为云发布盘古大模型3…