用于获取匹配的正则表达式的一部分的awk语法
发布时间:2020-12-13 22:53:48 所属栏目:百科 来源:网络整理
导读:我确定这很容易,所以道歉.在Perl中我可能会做类似的事情 my $str = "foo=23";$str ~= m/foo=([0-9]+)/print "foo value is " . $1 即在正则表达式中使用括号,以便稍后可以将部分匹配称为$1,$2等. awk中的等价物是什么? 在GNU awk中,它是: $cat tst.awkBEGI
我确定这很容易,所以道歉.在Perl中我可能会做类似的事情
my $str = "foo=23"; $str ~= m/foo=([0-9]+)/ print "foo value is " . $1 即在正则表达式中使用括号,以便稍后可以将部分匹配称为$1,$2等.
在GNU awk中,它是:
$cat tst.awk BEGIN { str = "foo=23" val = gensub(/foo=([0-9]+)/,"1","",str) print "foo value is " val } $ $gawk -f tst.awk foo value is 23 在其他awk中你需要使用[g] sub()和/或match()和/或substr(),这取决于你做/不想匹配的其他内容.例如: $cat tst.awk BEGIN { str = "foo=23" val = substr(str,match(str,/foo=[0-9]+/)+length("foo=")) print "foo value is " val } $awk -f tst.awk foo value is 23 如果目标模式不在一行的末尾,则在substr()调用上需要第三个’,RLENGTH-length(“foo =”)’arg.如果你愿意,可以将“foo =”变成一个变量,如果它本身可以包含RE,那么还需要一些步骤. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 使用带有jquery ui对话框的telerik网格!
- VS2012 未找到与约束ContractName匹配的导出 原创
- Logdump Reference for Oracle GoldenGate12c (12.2.0.1)中
- 今天开始深入学习XML
- 【幻化万千戏红尘】qianfengDay28-XML解析之SAX和PULL解析基
- 使用cell.imageView.image的不同大小的图像.迅速
- c# – 如何在运行时在winform上移动标签
- applicationContext.xml 配置文件的一些认识
- c – 摆脱有符号和无符号整数表达式之间的比较的优雅方式
- iphone – 结构化NSData到结构?