3.3.4.1 模式与操作
awk 的基本模式不同于绝大多数的程序语言。它其实比较类似于 sed:
awk 'program' [ file ... ]
awk 读取命令行上所指定的各个文件(若无,则为标准输入),一次读取一条记录(行)。再针对每一行,应用程序所指定的命令。awk 程序基本架构为:
pattern { action }
pattern { action }
...
pattern 部分几乎可以是任何表达式,但是在单命令行程序里,它通常是由斜杠括起来的 ERE 。action 为任意的 awk 语句,但是在单命令行程序里,通常是一个直接明了的 print 语句。
pattern 或是 action 都能省略。省略 pattern ,则会对每一条输入记录执行 action ;省略 action 则等同于 { print },将打印显示整条记录(稍后介绍)。大部分单命令行程序为这样的形式:
... | awk '{ print some-stuff}' | ...
对每条记录来说, awk 会测试程序里的每个 pattern。若模式值为真(例如某条记录匹配于某正则表达式,或是一般表达式计算为真),则 awk 便执行 action 内的程序代码。