位置: 编程技术 - 正文

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

  • 公司处理固定资产的账务处理
  • 公司房产税怎么做分录
  • 纳税人识别号怎么看是不是一般纳税人
  • 咨询服务费开票税率
  • 广告合同印花税率怎么算
  • 计提成本会计分录
  • 外购一批原材料对外销售
  • 公司发年终奖怎么发朋友圈
  • 境内所得境外发放工资
  • 什么发票可以抵税
  • 个人所得税申报是什么意思?
  • 一般纳税人出租不动产增值税税率
  • 请问哪些福利费不用交税
  • 相互调转总分公司的原料物资 是视同销售吗?
  • 0申报逾期罚款
  • 自然人办税服务平台怎么登录和注册
  • 收到分红款企业所得税怎么填报
  • 公司奖励员工旅游怎么做账
  • 体育用品怎么才能买到
  • 公司给员工发工资用途怎么写
  • 金蝶软件如何修改凭证号
  • 旅行社小规模差额征税增值税申报表怎么填
  • 公司筹建期间发生的业务招待费,如何税前扣除
  • uc浏览器缓存视频删除了还占内存
  • 计提房屋租赁费的会计分录
  • linux获取操作命令的使用方法
  • 栀子花叶子发黄是什么原因
  • 为什么会产生应收账款
  • PHP:mdecrypt_generic()的用法_Mcrypt函数
  • php session存储方式
  • lumenrt
  • vscode简单入门
  • 汇兑差额如何计算
  • 2018年残保金申报表填表说明
  • 怎么安装离线导航
  • oc底层原理
  • 零申报有哪些
  • python 多线程处理
  • 一个例子解释唯物辩证法三大规律
  • 股权激励如何做会计分录
  • 上季度忘记申报个税了
  • 季度所得税资产总额填错了,会不会有影响
  • 个体户取现金的几种方法
  • sql server查询
  • sqlserver存储过程加密
  • 开具增值税专用发票和普通发票的区别
  • 未开票收入如何计提增值税
  • 小规模纳税人开的专票对方可以抵扣吗
  • 投资性房地产转为存货
  • 旅游发票可以做差旅费吗
  • 个体工商户分配所得
  • 转账支票遗失声明
  • 生产车间的会计科目
  • 培训学校收费依据填什么
  • 有契税发票没有增值税发票
  • 预计所有者权益增长率
  • 施工赔偿款怎么记账
  • 参加会议正常应该交多少钱
  • 依法建账的法是指
  • window放大之后怎么缩小
  • solaris syslog
  • win8.1退回win8
  • torch.cuda.set_device
  • windows7包含6个版本其中什么最强大支持的功能最多
  • win7安装flash提示连接失败
  • kmsss.exe是什么
  • win7桌面没有了怎么办
  • win8使用教程和技能
  • xp升win10教程
  • [图文教程]Win10家庭版怎么快速升级到win10专业版?
  • apache2.4配置文件详解
  • 使用jQuery的ajax方法向服务器发出get和post请求的方法
  • bat批处理命令运行程序
  • python自动生成
  • 自动搜索工具
  • socket教程pdf
  • javascriptz
  • python一些简单操作
  • 公司自有房产出租缴税
  • 在江西税务网交医保流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设