位置: 编程技术 - 正文

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

  • 网上代增值税开错不退
  • 小微企业开专票税率是1%还是3%
  • 政府补助是属于什么财务活动
  • 其他应付款为负数
  • 所得税费用期初有余额吗
  • 已付款已收货但发票未到账务处理怎么做
  • 公司对员工的罚款最多可以罚多少
  • 免税企业收到增值税专用发票咋办
  • 拆迁房视同销售成本可以抵减吗?
  • 原材料采购没正式发票能否入账?
  • 不能税前扣除的费用有哪些
  • 施工企业仪器设备入什么会计科目核算?
  • 营改增后在建工程转让应缴纳税费有哪些
  • 个体户转让房产所得如何申报个人所得税
  • 小规模纳税人补缴增值税
  • 城市维护建设税的计税依据是什么
  • 详解非税收入
  • 个人转账至公司要交税吗
  • 处理固定资产开什么发票
  • 企业所得税发票虚假成本调减当年的吗
  • 个人所得税应纳税额计算表图片
  • 进项税额转出月底如何结转
  • w11怎么更新
  • 苹果电脑怎么截屏ctrl加什么
  • linux 列表
  • 合伙企业取得红利怎么交税
  • compaq-rba.exe是哪个方面的进程 作用是什么 compaq-rba进程查询
  • 在企业所得税前扣除的有哪些
  • 采用销售百分比法预测对外
  • dotnetfx35.exe
  • 苹果语音备忘录怎么导出
  • 金融保险业的营业税率为
  • 员工报销的费用
  • 事业单位结息会降薪吗
  • php设计原则
  • 手把手教你在瑞典停车
  • lstm输出多个预测值
  • 租房发票怎么缴税
  • phpcms安装无法连接数据库服务器
  • mongo聚合查询效率问题
  • 织梦网站怎么改logo
  • 印花税的计税依据为各种应税凭证上所记载的计税金额
  • 经营范围技术服务技术开发技术咨询技术交流
  • 零售行业bi
  • 有净残值的固定资产累计折旧怎么算
  • 关于工程施工的法律法规
  • 股东捐赠资产要纳税吗
  • 用友t6自定义结转
  • 小规模减免的附加税怎么做账
  • 个人转租房需要注意什么
  • 退货发票会作废吗
  • 电商企业银行账户是什么
  • 固定资产以提足金为准吗
  • 社保补差什么流程
  • 减免税款借方有利息吗
  • 故意销毁会计凭证、会计账簿罪
  • 代理记账许可证查询
  • sql server数据库监控
  • Mysql执行sql文件
  • ubuntu ifdown
  • 中兴新支点操作系统安装教程
  • win10的ghost
  • linuxssh免密码登录
  • linux关闭进程kill
  • 如何去掉桌面图标的蓝底
  • win102020h2版本
  • win7系统如何屏幕放满屏幕
  • win7系统通知在哪
  • microsoft build
  • 批处理新建多个文件夹
  • unity物体移动速度怎么设置
  • 安卓手机wifi界面
  • windbg调试驱动
  • python自动化部署k8s集群
  • javascriptwhile
  • jq form提交
  • 保险公司个人所得税扣除标准是多少
  • 3.0排量 车船税
  • 广东省通用机打发票怎么开
  • 企业的捐赠支出在哪里能看到
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设