前面几篇文章大概介绍了awk的简单用法,下面小编将详细介绍一下awk的几种模式。
最简单的 awk 程序是由一个或多个模式–动作语句构成的序列:
‘Pattern{action}’
如果经awk检查没有语法错误的话,awk程序会按行读取文件,按顺序检查每一个pattern,对每一个与当前行匹配的pattern执行大括号里的动作。在一些表达式中,pattern可以不存在,此时每一行都会执行大括号里的动作。有时候awk 程序只有pattern而没有action的程序,此时程序只会打印匹配pattern的行。
awk六种模式
★BEGIN{action}
在读取文件之前,首先执行的动作,注意该模式只执行一次
★END{action}
读完文件之后,最后执行的动作,注意该模式只执行一次
★pattern{action}
当目前读取的行符合pattern后,执行大括号里的动作
★/regular pattern/{action}
当目前读取的行匹配该正则表达模式,则执行大括号里的action
★compound pattern { action}
一个复合模式将表达式用 &&(AND), ||(OR), !(NOT), 以及括号组合起来; 当 compound pattern 为真时, 执行大括号里的action
★pattern 1 , pattern 2 { action}
行范围模式:从匹配 pattern 1 的行开始, 到匹配 pattern 2 的行结束 (包括这两行), 对这中间的每一行执行大括号里的动作
下面小编将结合实例,给大家具体讲解以上6种模式。首先,我们一起看一下示例文件,以下文件是每个样品的下机质控文件。