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=va1 格式,则声明并创建变量,此阶段的变量在BEGIN之后声明,所以BEGIN中不可用,main代码段可用
每读取一条记录:
都将设置NR、FNR、RT、符号$O等变量
(默认)根据输入字段分隔符FS切割字段,将各字段保存到 $1、$2...中
测试main代码段的pattern部分,如果测试成功则执行action部分
5、执行END代码段
文章链接: https://www.junmajinlong.com/shell/awk/awk_howtowork/ |