awk之match函数

格式:match(string,regexp,array)    和string~regexp的作用类似

说明:不依靠$1,2,3。。。来提取特定的列.

没有array的情况下:通过regexp,在string中寻找最左边,最长的substring,返回substring的index位置。

有array的情况下:在regexp中用()将要组成的array的内容按顺序弄好,a[1]代表第一个()的内容,a[2]代表第二个()的内容,以此类推。

echo "gene_type  "mrna";gene_name "typ""|awk ‘match($0,/(gene_type).+(".+?");gene_name/,a){print a[1]}‘
gene_type

echo "gene_type  "mrna";gene_name "typ""|awk ‘match($0,/(gene_type).+("+?");gene_nae/,a){print a[2]}‘
mrna

  

时间: 2024-10-10 08:50:37

awk之match函数的相关文章

linux awk 内置函数详细介绍(实例)

这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y, x ) 返回 y/x 的反正切. cos( x ) 返回 x 的余弦:x 是弧度. sin( x ) 返回 x 的正弦:x 是弧度. exp( x ) 返回 x 幂函数. log( x ) 返回 x 的自然对数. sqrt( x ) 返回 x 平方根. int( x ) 返回 x 的截断至整数的

linux awk 内置函数实例

awk内置函数,主要分4种:算数函数.字符串函数.时间函数.一般函数 一.算术函数 以下算术函数执行与 C 语言中名称相同的子例程相同的操作: 函数名 说明 atan2( y, x ) 返回 y/x 的反正切. cos( x ) 返回 x 的余弦:x 是弧度. sin( x ) 返回 x 的正弦:x 是弧度. exp( x ) 返回 x 幂函数. log( x ) 返回 x 的自然对数. sqrt( x ) 返回 x 平方根. int( x ) 返回 x 的截断至整数的值. rand( ) 返回

awk中split函数的用法

The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep. time=12:34:56 echo $time | awk '{split($0,a,":" ); print a[1]}' 12   echo $time | awk '{split($0,a,":" ); print a[3]}' 34   echo $time | awk

正则表达式match()函数

正则表达式match()函数:此方法可在字符串内查找一个或多个正则表达式的匹配.返回值是一个数组,但是此数组的内容和正则对象是否是全局匹配有着很大关系:1.没有g修饰符:此方法只能够在字符串中匹配一次.如果没有找到匹配的字符串,那么返回null,否则将返回一个数组,数组的第0个元素存储的是匹配字符串,第1个元素存放的是第一个引用型分组(子表达式)匹配的字符串,第2个元素存放的是第二个引用型分组(子表达式)匹配的字符串,依次类推.同时此数组还包括两个对象属性,index属性声明的是匹配字符串的起始

Excel——MATCH函数

使用 MATCH 函数在范围单元格中搜索特定的项,然后返回该项在此区域中的相对位置. 1.参数说明: MATCH(lookup_value, lookup_array, [match_type]) lookup_value    必需.要在 lookup_array 中匹配的值.例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码.lookup_value 参数可以为值(数字.文本或逻辑值)或对数字.文本或逻辑值的单元格引用. lookup_array   

awk下 gsub函数用法

(2012-03-27 01:37:28) 标签: awk gsub linux 函数 it 分类: linux gsub函数则使得在所有正则表达式被匹配的时候都发生替换 gsub(regular expression, subsitution string, target string);简称 gsub(r,s,t) 一.遇到的问题: 问题:echo "a b c 2011-11-22 a:d" | awk '$4=gsub(/-/,"",$4)'为啥 输出后 2

Python3 正则表达式 re.match函数

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 1.5版本增加了re模块,提供了Perl风格的正则表达模式. re模块让Python语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. re.match函数 re.match尝试从字符串起始位置匹配

查询好搭档:INDEX+MATCH 函数

目的:根据姓名查询对应的等次. 方法: 在目标单元格中输入公式:=INDEX(E3:E9,MATCH(H3,B3:B9,0)). 解读: 1.INDEX函数:返回给定范围内行列交叉处的值. 2.MATCH函数:给出指定值在指定范围内的所在位置. 3.公式:=INDEX(E3:E9,MATCH(H3,B3:B9,0)),查询E3:E9中第MATCH(H3,B3:B9,0)行的值,并返回. 原文地址:https://www.cnblogs.com/SparkSky/p/11048715.html

awk 字符串处理函数

awk提供了许多强大的字符串函数,见下表:awk内置字符串函数gsub(r,s)    在整个$0中用s替代rgsub(r,s,t)    在整个t中用s替代rindex(s,t)    返回s中字符串t的第一位置length(s)    返回s长度match(s,r)    测试s是否包含匹配r的字符串split(s,a,fs)    在fs上将s分成序列asprint(fmt,exp)    返回经fmt格式化后的expsub(r,s)    用$0中最左边最长的子串代替ssubstr(s,