O、、awk执行命令的时机,
1、所有行前BEGIN{},
2、逐行{},
3、所有行后END{},
4、三个时机可单独或组合使用,空格不敏感
一、所有行前处理,BEGIN{}
读入第一行文本之前的处理,一般用来做初始化,行号NR算第0行
1、awk 'BEGIN{a=10;print a+10}'
2、awk 'BEGIN{a=10;b=20;print a+b}'
3、awk ‘BEGIN{x=0}/root/{x++}END{print x}’ dir
记录指定文件中包含root的内容行的数量,注意正则部分写在{}前面,’'内部。
二、逐行处理{}
逐行处理读入的文本,是最常见的编辑指令块
三、所有行后处理END{}
处理完最后一行文本之后执行,一般用来处理输出结果,行号NR算最后一行
四、零散的笔记
1、使用seq num生成1到num,
2、命令太长可以使用\分行,
3、awk中访问未初始化的变量默认初始为0