(8)awk的工作流程

awk工作流程

参考自:man awk的"AWK PROGRAM EXECUTION"段。

man --pager='less -p ^"AWK PROGRAM EXECUTION"' awk

执行步骤

1、解析-v var=val.....选项中的变量赋值。
2、编译AWK源代码为AWK可解释的内部格式,包括-v的变量
3、执行BEGIN代码段
4、根据输入分隔符RS读取文件(根据ARGV数组的元素决定要读取的文件),如果没有指定的文件,则从标准输入读取文件,同时执行main代码段。
  如果文件名部分指定为var=val的格式,则声明并创建变量,此阶段的变量在BEGIN之后声明,所以BEGIN中不可使用,main代码中可以使用。
  每读一条记录
  都将设置NR,FNR,RT,$0等变量
  (默认)根据输入字段分隔符FS切割字段,将各字段保存到$1、$2。。。。。中
  测试main代码段的pattern部分,如果测试成功执行action部分
5、执行END代码段
原文地址:https://www.cnblogs.com/liujunjun/p/12390040.html