awk的模式

在awk 中,匹配模式处于非常重要的地位,它决定着匹配模式后面的操作会影响到哪些文本行。 awk
的匹配模式主要包括关系表达式、正则表达式、混合模式, BEGIN 模式以及 END 模式等。
1 )关系表达式
awk 提供了许多关系运算符,例如大于>、小于<或者等于 == 等。 awk 允许用户使用关系表达式作为匹
配模式,当某个文本行满足关系表达式时,将会执行相应的操作。
[root@localhost test11] # cat file
liming 80
wangmei 70
zhangsan 90
lisi 81
[root@localhost test11] # awk '$2 > 80 {print}' file
zhangsan 90
lisi 81
2 )正则表达式
awk 支持以正则表达式作为匹配模式,与 sed 一样,用户需要将正则表达式放在两条斜线之间,其基本语
法如下: /regular_expression/
[root@localhost test11] # awk '/^l/{print}' file
liming 80
lisi 81
[root@localhost test11] # awk '/^l|z/{print}' file
liming 80
zhangsan 90
lisi 81
3 )混合模式
awk 不仅支持单个的关系表达式或者正则表达式作为模式,还支持使用逻辑运算符 && || 或者 ! 将多个
表达式组合起来作为一个模式。其中, && 表示逻辑与, || 表示逻辑或, ! 表示逻辑非。
[root@localhost test11] # awk '/^l/ && $2>80 {print}' file
lisi 81
4 )区间模式
awk 还支持一种区间模式,也就是说通过模式可以匹配一段连续的文本行。区间模式的语法如下:
pattern1, pattern2
其中, pattern1 pattern2 都是前面所讲的匹配模式,可以是关系表达式,也可以是正则表达式等。当
然,也可以是这些模式的混合形式。
[root@localhost test11] # awk '/^liming/,$2==90 {print}' file
liming 80
wangmei 70
zhangsan 90
5 BEGIN 模式
[root@localhost test11] # cat 1.sh
#!/bin/awk -f
BEGIN {print "hello,world" }
[root@localhost test11] # ./1.sh
hello,world
[root@localhost ~] # awk -F: 'BEGIN {printf "%-15s %-3s
%-15s\n","user","uid","shell"} $3==0,$7~"nologin" {printf "%-15s %-3s
%-15s\n",$1,$3,$7}' /etc/passwd
6 END 模式
[root@localhost test11] # cat 2.sh
#! /bin/awk -f
BEGIN {
print "scores report"
print "================================="
}
{ print }
END {
print "================================"
print "printing is over"
}
[root@localhost test11] # ./2.sh file
scores report
=================================
liming 80
wangmei 70
zhangsan 90
lisi 81
================================
printing is over
[root@localhost ~] # awk -F: 'BEGIN {printf "%-15s %-3s
%-15s\n","user","uid","shell"} $3==0,$7~"nologin" {printf "%-15s %-3s
%-15s\n",$1,$3,$7} END {print "-----End file-----"}' /etc/passwd

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

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

相关文章

localSorage,sessionStorage,cookie三者的区别和特点

LocalStorage、SessionStorage、Cookie三者的区别和特点? 什么是Cookie HTTP协议本身是无状态的。什么是无状态呢,即服务器无法判断用户身份。 Cookie实际上是一小段的文本信息(key-value格式)。客户端向服务器发起请求,如果服务…

培训第十三天(DNS逆向解析与主从服务、ntp时间服务器)

上午 编号主机名ip地址说明修改1web服务器10.0.0.10发布部署web服务发布了一个nginx web服务2dns服务器10.0.0.11用于解析域名和ip地址1、安装bind 2、配置一个conf,zones,zone 3、检查了3个文件,启动3cli主机10.0.0.12用于模拟客户机修改了…

基于联盟链Fabric 2.X 的中药饮片代煎配送服务与监管平台

业务背景 近年来,随着公众对中医药青睐有加,中药代煎服务作为中医药现代化的重要一环,在全国各地蓬勃兴起。鉴于传统煎煮方式的繁琐耗时,医疗机构纷纷转向与第三方中药饮片企业合作,采用集中代煎模式。这些第三方煎药中…

没有51基础,能不能学好STM32?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「STM32的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! 我们通常准备攻读一本大部…

【HTML】iframe

<iframe> 标签是 HTML 中的⼀个元素&#xff0c;⽤于在当前 HTML ⽂档中嵌⼊另⼀个 HTML ⽂档。它可以在⼀个 HTML ⻚⾯中嵌⼊另⼀个 HTML ⻚⾯或其他类型的⽂档&#xff0c;⽐如 PDF ⽂件或视频⽂件。 <iframe> 标签的优点包括&#xff1a; 可以让⻚⾯嵌⼊其他⽹…

浅谈监听器之断言结果

浅谈监听器之断言结果 在进行测试过程中&#xff0c;断言是一种关键组件&#xff0c;用于验证采样器&#xff08;如HTTP请求&#xff09;的响应数据是否符合预期。而“断言结果”监听器则是展示这些断言执行情况的重要工具&#xff0c;它帮助用户快速识别哪些断言通过或未通过…

JavaScript轮播图

HTML部分 <div class"box" onmouseover"over()" onmouseout"noover()"><img src"./img/zuo.png" alt"" class"left_arrow" onclick"left_last()"><img src"./img/yy.png" al…

【JAVA多线程】线程的状态控制

目录 1.JDK中的线程状态 2.基础操作 2.1关闭 2.2中断 2.3.等待、唤醒 2.4.阻塞、唤醒 1.JDK中的线程状态 在JDK的线程体系中线程一共6种状态&#xff1a; NEW&#xff08;新建&#xff09;: 当线程对象创建后&#xff0c;但尚未启动时&#xff0c;线程处于新建状态。RUN…

python毕业设计选题校园食堂菜谱推荐系统

✌网站介绍&#xff1a;✌10年项目辅导经验、专注于计算机技术领域学生项目实战辅导。 ✌服务范围&#xff1a;Java(SpringBoo/SSM)、Python、PHP、Nodejs、爬虫、数据可视化、小程序、安卓app、大数据等设计与开发。 ✌服务内容&#xff1a;免费功能设计、免费提供开题答辩P…

stack(leetcode练习题,牛客)

文章目录 STL用法总结32 最长有效括号思路代码 496 下一个最大元素思路代码 856 括号的分数思路 最优屏障思路代码 STL用法总结 关于stack的知识&#xff0c;可以看点击查看上面的博客&#xff0c;以下题目前三个全在leetcode&#xff0c;最后一个在牛客 32 最长有效括号 思路…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第五十章 Linux设备树

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

C++类别(建构函数、初值串列、EXPLICIT指示词)

类别- 类别(class) 是物件(object) 的模板&#xff0c;物件的所有功能都由类别设置。 典型的类别设计如下 class class_name { access_label_1:// memberaccess_label_2:// member }; 利用关键字(keyword) class宣告类别名称&#xff0c;其后的大括弧为类别的宣告内容&…

代理IP在数据采集中具体有哪些作用

在当今信息化高速发展的时代&#xff0c;从市场趋势分析到消费者行为预测&#xff0c;从产品优化到服务改进&#xff0c;大数据都在其中扮演着不可或缺的角色。但数据的采集、整理和分析并非易事&#xff0c;特别是在面对海量的网络数据时&#xff0c;我们往往需要借助一些技术…

python3.12 String类方法大全

字符串相关链接 类型细分与链接注释 字面值 转义字符字符串字符串基础方法拼接, 索引, 路径, 长字符串分行等等内置类型str 字符串的方法 见下表 printf 风格的字符串格式化 format % values 标准库string 字符串常量字符串模块中定义的常量class string.Formatter 自定义字符…

前端 SSE 长连接

使用 const options {withCredentials: true, // 默认 false}const eventSource new EventSource(/api, options);eventSource.addEventListener(open, () > {});eventSource.onmessage (event) > {}; // 或addEventListener(message,callback)eventSource.addEvent…

程序员拔火罐技能的分享

一.背景 之前为了考“中医康复理疗师”的证书&#xff0c;自学了拔火罐。自学主要是在自己大腿上练习&#xff0c;然后拿家人做小白鼠。后来考试没有那么严格也就顺利通过了。操作过程中&#xff0c;积累的一些小知识&#xff0c;分享给大家&#xff0c;有空在家里给家人服务体…

CTF ssrf 基础入门 (一)

0x01 引言 我发现我其实并不是很明白这个东西&#xff0c;有些微妙&#xff0c;而且记忆中也就记得Gopherus这个工具了&#xff0c;所以重新学习了一下&#xff0c;顺便记录一下吧 0x02 辨别 我们拿到一个题目&#xff0c;他的名字可能就是题目类型&#xff0c;但是也有可能…

【CSS】继承属性

属性继承 1. 字体系列属性 字体系列属性主要包括&#xff1a; font-size、font-family、font-variant、font-style、font-weight、font、letter-spacing、word-spacing、text-transform 和 line-height。如果没有在⼀个元素上设置这些属性&#xff0c;则其继承上层的相应属性…

FastAPI(七十三)实战开发《在线课程学习系统》接口开发-- 回复留言

源码见&#xff1a;"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 之前文章分享FastAPI&#xff08;七十二&#xff09;实战开发《在线课程学习系统》接口开发-- 留言列表开发&#xff0c;这次我们分享如何回复留言 按…

Jenkins+Gitlab持续集成综合实战

一、持续集成应用背景&#xff1a; DevOps&#xff1a;&#xff08;英文Development&#xff08;开发&#xff09;和Operations&#xff08;技术运营&#xff09;的组合&#xff09;是一组过程、方法与系统的统称&#xff0c;用于促进开发&#xff08;应用程序/软件工程&#…