位置: 编程技术 - 正文

linux awk 正则表达式、正则运算符详细介绍 (awk正则表达式中引入变量)

编辑:rootadmin

推荐整理分享linux awk 正则表达式、正则运算符详细介绍 (awk正则表达式中引入变量),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:awk 正则匹配查询,linux awk 正则表达式匹配表示符,shell awk 正则,linux awk 正则表达式,linux awk 正则表达式,linux awk 正则表达式,linux awk 正则表达式,linux awk 正则表达式匹配表示符,内容如对您有帮助,希望把文章链接给更多的朋友!

使用awk作为文本处理工具,正则表达式是少不了的。 要掌握这个工具的正则表达式使用。其实,我们不必单独去学习它的正则表达式。正则表达式就像一门程序语言,有自己语法规则已经表示意思。 对于不同工具,其实大部分表示意思相同的。在linux众多文本处理工具(awk,sed,grep,perl)里面用到正则表达式。其实就只有3种类型。详细可以参考:linux shell 正则表达式(BREs,EREs,PREs)差异比较 。只要是某些工具是属于某种类型的正则表达式。那么它的语法规则基本一样。 通过那篇文章,我们知道awk的正则表达式,是属于:扩展的正则表达式(Extended Regular Expression 又叫 Extended RegEx 简称 EREs)。

一、awk Extended Regular Expression (ERES)基础表达式符号介绍

字符 功能 + 指定如果一个或多个字符或扩展正则表达式的具体值(在 +(加号)前)在这个字符串中,则字符串匹配。命令行:

awk '/smith+ern/' testfile

将包含字符 smit,后跟一个或多个 h 字符,并以字符 ern 结束的字符串的任何记录打印至标准输出。此示例中的输出是:

smithern, harry smithhern, anne

? 指定如果零个或一个字符或扩展正则表达式的具体值(在 ?(问号)之前)在字符串中,则字符串匹配。命令行:

awk '/smith?/' testfile

将包含字符 smit,后跟零个或一个 h 字符的实例的所有记录打印至标准输出。此示例中的输出是:

smith, alan smithern, harry smithhern, anne smitters, alexis

| 指定如果以 |(垂直线)隔开的字符串的任何一个在字符串中,则字符串匹配。命令行:

awk '/allen | alan /' testfile

将包含字符串 allen 或 alan 的所有记录打印至标准输出。此示例中的输出是:

smiley, allen smith, alan

( ) 在正则表达式中将字符串组合在一起。命令行:

awk '/a(ll)?(nn)?e/' testfile

将具有字符串 ae 或 alle 或 anne 或 allnne 的所有记录打印至标准输出。此示例中的输出是:

smiley, allen smithhern, anne

{m} 指定如果正好有 m 个模式的具体值位于字符串中,则字符串匹配。命令行:

awk '/l{2}/' testfile

打印至标准输出

smiley, allen

{m,} 指定如果至少 m 个模式的具体值在字符串中,则字符串匹配。命令行:

awk '/t{2,}/' testfile

打印至标准输出:

smitters, alexis

{m, n} 指定如果 m 和 n 之间(包含的 m 和 n)个模式的具体值在字符串中(其中m <= n),则字符串匹配。命令行:

awk '/er{1, 2}/' testfile

打印至标准输出:

smithern, harry smithern, anne smitters, alexis

[String] 指定正则表达式与方括号内 String 变量指定的任何字符匹配。命令行:

awk '/sm[a-h]/' testfile

将具有 sm 后跟以字母顺序从 a 到 h 排列的任何字符的所有记录打印至标准输出。此示例的输出是:

smawley, andy

[^ String] 在 [ ](方括号)和在指定字符串开头的 ^ (插入记号) 指明正则表达式与方括号内的任何字符不匹配。这样,命令行:

awk '/sm[^a-h]/' testfile

linux awk 正则表达式、正则运算符详细介绍 (awk正则表达式中引入变量)

打印至标准输出:

smiley, allen smith, alan smithern, harry smithhern, anne smitters, alexis

~,!~ 表示指定变量与正则表达式匹配(代字号)或不匹配(代字号、感叹号)的条件语句。命令行:

awk '$1 ~ /n/' testfile

将第一个字段包含字符 n 的所有记录打印至标准输出。此示例中的输出是:

smithern, harry smithhern, anne

^ 指定字段或记录的开头。命令行:

awk '$2 ~ /^h/' testfile

将把字符 h 作为第二个字段的第一个字符的所有记录打印至标准输出。此示例中的输出是:

smithern, harry

$ 指定字段或记录的末尾。命令行:

awk '$2 ~ /y$/' testfile

将把字符 y 作为第二个字段的最后一个字符的所有记录打印至标准输出。此示例中的输出是:

smawley, andy smithern, harry

. (句号) 表示除了在空白末尾的终端换行字符以外的任何一个字符。命令行:

awk '/a..e/' testfile

将具有以两个字符隔开的字符 a 和 e 的所有记录打印至标准输出。此示例中的输出是:

smawley, andy smiley, allen smithhern, anne

*(星号) 表示零个或更多的任意字符。命令行:

awk '/a.*e/' testfile

将具有以零个或更多字符隔开的字符 a 和 e 的所有记录打印至标准输出。此示例中的输出是:

smawley, andy smiley, allen smithhern, anne smitters, alexis

(反斜杠) 转义字符。当位于在扩展正则表达式中具有特殊含义的任何字符之前时,转义字符除去该字符的任何特殊含义。例如,命令行:

/a///

将与模式 a // 匹配,因为反斜杠否定斜杠作为正则表达式定界符的通常含义。要将反斜杠本身指定为字符,则使用双反斜杠。有关反斜杠及其使用的更多信息,请参阅以下关于转义序列的内容。

与PERs相比,主要是一些结合类型表示符没有了:包括:”d,D,s,S,t,v,n,f,r”其它功能基本一样的。 我们常见的软件:javascript,.net,java支持的正则表达式,基本上是:EPRs类型。

二、awk 常见调用正则表达式方法

awk语句中:

复制代码代码如下:awk ‘/REG/{action}’/REG/为正则表达式,可以将$0中,满足条件记录 送入到:action进行处理.

awk正则运算语句(~,~!等同!~)

复制代码代码如下:[chengmo@centos5 ~]$ awk 'BEGIN{info="this is a test";if( info ~ /test/){print "ok"}}'ok

awk内置使用正则表达式函数

复制代码代码如下:gsub( Ere, Repl, [ In ] )sub( Ere, Repl, [ In ] )match( String, Ere )split( String, A, [Ere] )

详细函数使用,可以参照:linux awk 内置函数详细介绍(实例)

通过上面细述,不知道大家有没有对awk正则表达式有一个更加清楚的认识。 有什么问题可以与我交流!

linux awk 多文件操作2种实现方法 我们经常会将2个有关联文本文件进行合并处理。分别从不同文件获取需要的列,然后,整体输出到一起。awk进行多文件处理时候,常常会遇到2个方面问

linux下通过awk查看ip连接数(常见应用一) 复制代码代码如下:[chengmo@localhost~]$awk'BEGIN{while("netstat-an"|getline){if($5~/[1-]/){split($5,t1,":");tarr[t1[1]]++;}}for(kintarr){printk,tarr[k]|"sort-r-n-k2";}};'/pp$5是netstatan第

shell awk实现实时监控网卡流量脚本(常见应用二) 实现原理:[chengmo@localhost~]$cat/proc/net/devInter-|Receive|Transmitface|bytespacketserrsdropfifoframecompressedmulticast|bytespacketserrsdropfifocollscarriercompressedlo:

标签: awk正则表达式中引入变量

本文链接地址:https://www.jiuchutong.com/biancheng/359050.html 转载请保留说明!

上一篇:linux awk 内置函数详细介绍(实例) (linux的awk命令大全)

下一篇:linux awk 多文件操作2种实现方法 (linux的awk命令大全)

  • 退票凭证什么样子
  • 社保的滞纳金放什么科目
  • 三栏式明细账适用于银行存款吗
  • 申报美元出口以欧元收汇
  • 驾驶员行车补贴开什么发票
  • 建房测绘收费
  • 深圳重工业企业有哪些
  • 所有增值税发票都有抵扣联吗
  • 企业建设项目审批流程
  • 企业股东分红所得税税率表
  • 核销债权债务依据
  • 应付账款不用付了摘要怎么写
  • 分公司代理人
  • 会计上的未达账项是什么
  • 没有申报增值税不能领发票吗
  • 小规模纳税人税收优惠政策变化
  • 外地预缴个人所得税会计分录
  • 通用申报表个人所得税应税项怎么填
  • 进口退运货物基本流程
  • 河道管理费入什么科目
  • 发票销货清单需要到税务局吗
  • 长期待摊费用提前清理
  • 装修费可以作为开办费吗
  • 未签订劳动合同工资如何给付
  • 会计管理制度范本
  • 台式电脑机箱怎么选
  • 未付款的增值税发票可以抵扣吗
  • 其他暂收应付款项有哪些
  • 铁路运输企业受托代征的印花税款信息
  • php数组函数题目
  • etc发票计算抵扣
  • 用友自动生成凭证怎么操作
  • php sha1加密 解密
  • javaweb项目登录页面不跳转
  • imu定位
  • input输入框非空验证
  • vue中proxy代理?
  • python yolo
  • vue请求后端接口
  • od输出结构
  • 企业的业务招待费是否可以随意开支
  • 受托加工收到的材料怎么入账
  • 彩钢板房税点
  • 报表里主营业务怎么填
  • phpcms v9用户手册
  • centos下编写贪吃蛇吗
  • 开业前需要支出什么费用
  • 加班工资应如何算
  • 购买汽车抵扣增值税
  • 综合所得汇算清缴是什么意思
  • 农产品普通发票进项税抵扣
  • 记帐时借方是什么意思
  • 典当行借款合同需交印花税吗
  • mysql中删除语句怎么写
  • 存货资产评估方法
  • 跨年租金如何处理
  • 餐饮充值规则说明
  • 货款收不回来了怎么做账
  • 预付账款摊销会计分录
  • 当月管理费用为负数
  • 免税发票可以抵扣税收农产品吗
  • sql指定字段添加数据
  • mysql主界面
  • Linux平台mysql开启远程登录
  • zmweb.exe是什么进程
  • gho文件硬盘安装
  • uphclean.exe - uphclean进程是什么意思
  • graphics.dll
  • win10键盘大小写不能切换了
  • 微软官方确认:Xbox不会出现在E3 2023实体展
  • 手机摇一摇插件
  • 提高css文件可维性的方法
  • python调用python脚本
  • javascript 代码
  • js的span标签
  • 安卓获取手机号及通话状态权限
  • 商业发票发票号怎么填写
  • 如何在税务系统增加开票人员
  • 有限合伙企业怎么交税
  • 江苏企业所得税税率2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设