awk match函数输出正则表达式部分

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

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

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

 

cat 123.txt | awk -F"\t" 'match($2,/.*(1[3-9][0-9]{9}).*/,a) {print a[1]"-"a[2]}' >2223.txt //提取并第二列内容中的号码 输出部分一定要用()

 

上一篇:log


下一篇:《Sed and Awk 101 Hacks》PDF 下载