位置: 编程技术 - 正文

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命令大全)

  • 增值税需要年度报税吗
  • 进项留抵转出会计分录
  • 金税盘软件
  • 差旅费用什么记账凭证
  • 个税系统设置在哪里
  • 房屋出租的成本怎么算
  • 变更了公司名称以前的发票还可以抵扣吗
  • 小规模购买金税盘分录
  • 代开了专票,但是销售额没有超过30万怎么处理
  • 城市生活垃圾费是业主出还是物业出
  • 国家对工资发放的规定
  • 进销的单位不一样怎么办
  • 稳岗补贴给谁
  • 企业所得税纳税调整明细表
  • 投资企业应确认投资收益的有
  • 房地产企业拆迁补偿怎么做账
  • 增值税进项税额不予抵扣的项目包括
  • 分税制的内容有哪些?
  • 委托加工的账务处理
  • 专用发票丢失如何报销
  • 一年过去了,特朗普减税效果如何?
  • 长期投资项目包括哪些
  • 商品税目是什么意思4001
  • 将自产产品无偿赠送 会计处理
  • 赎回股份是利好还是利空
  • 分公司开票信息
  • 社保显示已申报,但缴不了款
  • ipad常用语在哪里
  • 新版edge浏览器如何恢复设置
  • 鸿蒙系统智能设备怎么开启
  • 多付货款退回的法律依据
  • 提供应税服务的纳税义务发生时间
  • php中常量与变量的区别
  • 小程序新版本
  • iframe嵌套页面点击里面的按钮
  • antd form table
  • 图片美白ps
  • css浮动怎么弄
  • 购入固定资产预付款怎么做账
  • SQLite数据库常用语句及MAC上的SQLite可视化工具MeasSQLlite使用方法
  • 制造费用结转本年利润吗
  • 临时贷款属于什么会计科目
  • 详解中国航天三垂一远
  • 作废的发票要装订记账凭证吗
  • 固定资产计提折旧的会计科目
  • 如何降低应收账款成本
  • 电商刷单返现如何做账务处理合适?
  • 对公收费明细入账是手续费吗
  • 进项抵扣和销项抵扣
  • 股东往来款算投资款吗
  • 库存商品盘盈怎么做账
  • 专项应付款在借方
  • 个人账户转公司账户附言写什么
  • 开发票的时候密码超出密码区发票还能用吗?
  • 小企业会计准则调整以前年度费用分录
  • 增值税免税入账
  • 小规模纳税人怎么申报增值税报表
  • 自定义winre
  • windows2008
  • win7系统强制关机
  • linux中rsync有什么用
  • win7硬盘访问权限怎么解除
  • win8系统笔记本忘记开机密码怎么办
  • dos命令批处理
  • 解读css发展历史简述
  • python如何精确小数
  • python 脚本管理
  • OnApplicationFocus
  • unity3d改变物体坐标系
  • jquery版本过低
  • offset function
  • 基于jquery的框架有哪些
  • jquery日期选择器
  • android的事件处理机制
  • 王军调研地税局的职务
  • 宁波镇海哪里可以赶海
  • 郑东新区社保局电话号码是多少
  • 上海税务门户网站
  • 一般纳税人提供公共交通运输服务免征增值税
  • 纳税是什么税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设