Linux下的Awk正则表达式实战(linuxawk正则)
技巧
Awk正则表达式是数据处理的强大工具,在Linux环境下可以利用它来快速的处理数据,根据正则表达式提取字段、进行查询等让工作变得更轻松。本文针对Linux下的Awk正则表达式实战技巧,逐一介绍一些实用例子。
首先,说明下原始数据文件名:input.txt,文件中存放着 几百行几十个字段的原始数据信息,每一行的字段用tab键分隔,如下:
A 28 12 ABC 1
B 29 13 XYZ 1
C 30 14 YYY 0
在使用正则表达式处理Linux下数据时,可以利用awk软件来根据正则表达式提取字段、查询等。下面介绍几个实战技巧:
1、根据指示字段提取数据:
若是要提取以A,B,D开头的数据,则使用下列命令:
awk -F “\\t” ‘$1 ~/^[A|B|D]/ {print $0}’ input.txt
2、根据具体属性值提取字段:
若是要提取后续字段中例如4字段并且为1的数据,则运行下列命令:
awk -F “\t” ‘$4 == 1 {print $0}’ input.txt
3、根据字段值计算次数:
若是需要要计算出具体某个字段总共出现的次数,则使用下列命令:
awk -F “\t” ‘{freq[$3]++} END {for(x in freq) print x, freq[x]}’ input.txt
上面介绍的就是Linux下经常用到的几种Awk正则表达式技巧,如果掌握了以上技巧,可以极大的提升在Linux环境下进行数据处理的效率。