位置: 编程技术 - 正文

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

  • 房地产销售土地属于什么收入
  • 哪些进项税额不能加计抵减
  • 个人销售货物缴增值税吗
  • 企业文化事业建设费计算
  • 增票普票税额是否可以抵扣吗
  • 火车票丢失可以抵扣进项税额
  • 电商一定要注册公司吗
  • 职工福利部门的工资
  • 分公司收到的总部拨款会计如何处理
  • 购买的车位应如果要进行税务处理需注意什么?
  • 公司给自然人咨询怎么说
  • 运费发票备注栏新规定
  • 移动电子发票怎么发送到邮箱
  • 科技型中小企业怎么认定
  • 批发led电子屏
  • 开具红字发票后又开了蓝字发票 怎么入账
  • 固定资产转入清理记账凭证
  • 施工成本科目
  • 全年一次性奖金税率表
  • 华为鸿蒙系统耗电量快吗
  • 企业购入一批材料卖价5万元
  • 捐赠视同销售为什么不确认收入?
  • 微软surface售后电话人工
  • 如何暂停win11更新
  • 承租人对经营租赁的会计处,怎么快速记住方法
  • 境外租赁要交什么税
  • thinkphp in
  • 特定业务计算的应纳税所得额是指
  • python爬虫案例题目
  • php url函数
  • mysql_install_db命令 初始化MySQL数据目录
  • 2021年食用油税率
  • 公交充值卡发票在哪里开
  • vue实现注册
  • 往来对账的作用
  • 政府补助收入的现金流属于什么
  • 社保怎么交最划算
  • 企业注销指的是哪些
  • 公对公打款发票
  • 如果收到现金做账了还叫坐支
  • 不验资实收资本怎么做账
  • 递延收益是什么负债
  • 抵账协议上可以签字吗
  • 支票存根联丢失可以用回单代替么
  • 递延所得税资产和负债账务处理
  • 预收工程款怎么做账
  • 长期待摊费用未摊销完一次性处理怎么走
  • 销售返利的会计处理方法
  • 怎样理解企业财务会计的定义
  • 交易性金融资产包括哪些项目
  • 交通费属于什么部门
  • 汇算清缴费用调增会计处理
  • 外汇申报材料
  • 汇兑损益分录如何写
  • 会计审计属于什么类别
  • 汽车几年折旧年限
  • sql-3
  • mac电脑拷贝文件在哪里
  • rhel7.2安装
  • win10打开或关闭
  • redhat6.9安装图解
  • windows移动中心英文怎么写
  • win7开机总是自检
  • win7任务栏还原到下面快捷键
  • shell脚本编写的基本知识
  • 用python进行翻译
  • jQuery formValidator表单验证
  • 2000元工资交多少党费
  • 广东增值税电子专用发票
  • 换发票需要交钱吗
  • 吉林省地方税务局
  • 鸦片战争签订了条约
  • 企业调查表资金怎么填
  • 长沙税务注销公示期是多久
  • 建设工程勘察设计单位可跨部门跨地区承揽勘察设计业务
  • 税务稽查局工资高吗
  • 什么情况下要交印花税
  • 税务投诉电话12345
  • 2018年北京个人所得税查询
  • 财务年中工作总结简短
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设