首页 > 其他分享 >第八节AWK报告生成器(6)

第八节AWK报告生成器(6)

时间:2024-08-19 11:27:49浏览次数:8  
标签:BEGIN 正则表达式 第八节 生成器 模式 AWK print awk 80

六,awk中的模式

  • 在awk中,匹配模式处于非常重要的地位,它决定着匹配模式后面的操作会影响到哪些文本行
  • awk中的匹配模式主要包括
    • 关系表达式
    • 正则表达式
    • 混合模式
    • BEGIN模式
    • END模式等
6.1 awk的关键模式

awk提供了许多关系运算符,awk允许用户使用关系表达式作为匹配模式,当某个文本行满足关系表达
式时,将会执行相应的操作

6.2 正则表达式

awk支持以正则表达式作为匹配模式,用户需要将正则表达式放在两条斜线之间,其基本语法如:/regular_expression/

awk '/^l/{print}' fi1e
liming 80 
lisi 81
awk '/^l|z/{print}' file
liming 80 
zhangsan 90 
lisi 81
6.3 混合模式

awk不仅支持单个的关系表达式或者正则表达式作为模式,还支持使用逻辑运算符&&、11或者!将多个
表达式组合起来作为一个模式。其中,&&表示逻辑与,11表示逻辑或,!表示逻辑非

awk '/^l/ && $2>80 {print}' file
list 81
6.4 区间模式

awk以某个条件开始到某个条件结束,取这个区间内的所有,格式如:pattern1,pattem2

awk '/^liming/,$2==90 {print}' file
liming 80
wangmei 70
zhangsan 90
6,5 BEGIN模式
  • BEGIN模式是一种特殊的内置模式,其成立的时机为awk程序刚开始执行,但是又尚未读取任何数
    据之前
  • 该模式所对应的操作仅仅被执行一次,当awk读取数据之后,BEGIN模式便不再成立
  • 用户可以将与数据文件无关,而且在整个程序的生命周期中,只需执行1次的代码放在BEG IN模式
    对应的操作中
awk 'BEGIN{ print "hello world"}'

6,6 end模式

END模式是awk的另外一种特殊模式,该模式成立的时机与BEGIN模式恰好相反,它是在awk命令处理
完所有的数据,即将退出程序时成立,在此之前,END模式并不成立。无论数据文件中包含多少行数 据,在整个程序的生命周期中,该模式所对应的操作只被执行1次。因此,一般情况下,用户可以将许多
善后工作放在E N D模式对应的操作中

awk -F : '{print $1}END{print end}' passwd

标签:BEGIN,正则表达式,第八节,生成器,模式,AWK,print,awk,80
From: https://blog.csdn.net/weixin_73298423/article/details/141321007

相关文章

  • 第八节AWK报告生成器(7)
    七,awk控制语句作为一种程序设计语言,awk支持程序的流程控制,例如条件判断、循环以及其他的一些流程控制语句,例如continue、break以及exit等。掌握这些基本的流程控制语句,对于编写出结构良好的程序非常重要。7,1if判断语句if语句的功能是根据用户指定的条件来决定执行程......
  • Linux三剑客之awk
    Linux三剑客区别grep:普通搜索,更适合单纯的查找或匹配文本sed:每次读入一行来处理的,sed适合简单的文本替换和搜索,sed读取一行,以行作为单位,进行处理。awk:每次读入一行来处理的(同sed),但awk读取一行,切割成字段,以字段为单位,进行细节处理。awk工作原理根据处理的模式,一次从文件中......
  • 一款免费、简单、直观的数据库设计工具和 SQL 生成器,在浏览器中直接使用(附源码)
    前言在软件开发过程中,数据库设计是一个关键步骤,它直接影响到应用的性能和可维护性。然而,传统的数据库设计工具往往存在一些痛点,比如操作复杂、study曲线陡峭、缺乏直观的图形界面等。这些问题不仅拖慢了开发速度,也增加了设计的难度。为了解决这些问题,一款简单、直观且功能强......
  • 【生日视频制作】航空飞机机身AE模板修改文字软件生成器教程特效素材【AE模板】
    飞机身生日视频制作教程AE模板修改文字特效广软件告生成器素材【生日视频制作】航空飞机机身机尾AE模板修改文字软件生成器教程特效素材【AE模板】生日视频制作步骤:安装AE软件下载AE模板把AE模板导入AE软件修改图片或文字渲染出视频......
  • 打靶记录12——Fawkes
    靶机:https://download.vulnhub.com/harrypotter/Fawkes.ova这是个哈利波特系列的靶机,作者和本人都非常喜欢这个系列,因为它的漏洞和利用点都设计得很巧妙。难度:高目标:取得2个root权限+3个flag涉及攻击方法:主机发现端口扫描Web信息收集FTP服务攻击缓冲区溢出......
  • 【生日视频制作】飞机机身AE模板修改文字软件生成器教程特效素材【AE模板】
    飞机机身生日视频制作教程AE模板改文字特效广软件告生成器素材【生日视频制作】飞机机身AE模板修改文字软件生成器教程特效素材【AE模板】生日视频制作步骤:安装AE软件下载AE模板把AE模板导入AE软件修改图片或文字渲染出视频......
  • 第八节AWK报告生成器(2)
    3,1,2printf语法:printf("format\n",[arguments])格式说明format是一个用来描述输出格式的字符串,format格式的指示符都以%开头,后跟一个字符,如下:format含义%c显示字符的asicll%d,%i十进制整数%e,%E科学计数法显示数值%f显示浮点数%g,%G以科学计数法的格式或浮点数的......
  • 增量生成器简化BlazorServer兼容BlazorAuto模式
    本文简略介绍一下如何使用增量生成器(IncrementalGenerator)简化BlazorServer兼容Auto模式比如现在有一个BlazorServer项目的Razor页面//UserIndex.razor@code{[Inject,NotNull]IUserService?Service{get;set;}}如果IUserService的实现不支持运行在WebAssemb......
  • 增量生成器(Incremental Generator)实现自动注入
    在之前呢,为了偷懒,是使用了反射在项目启动的时候,自动注入项目需要的服务现在改为使用源生成器,自动生成服务注入的代码nuget地址dotnetaddpackageAutoInjectGenerator--version0.0.3一个提供了3个Attribute用于自动注入的配置AutoInjectAttributeAutoInjectContextAttr......
  • crash+awk:统计vma的大小
    正常的vm命令输出:crash_new>vmPID:2380TASK:ffffff88414bddc0CPU:5COMMAND:"xxx"MMPGDRSSTOTAL_VMffffff880a997c00ffffff882574700016565804k44535380kVMASTARTENDFLAG......