Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

O、、awk执行命令的时机,
1、所有行前BEGIN{},
2、逐行{},
3、所有行后END{},
4、三个时机可单独或组合使用,空格不敏感

一、所有行前处理,BEGIN{}
读入第一行文本之前的处理,一般用来做初始化,行号NR算第0行
1、awk 'BEGIN{a=10;print a+10}'

Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

2、awk 'BEGIN{a=10;b=20;print a+b}'
Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

3、awk ‘BEGIN{x=0}/root/{x++}END{print x}’ dir
记录指定文件中包含root的内容行的数量,注意正则部分写在{}前面,’'内部。

Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

二、逐行处理{}
逐行处理读入的文本,是最常见的编辑指令块

Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

三、所有行后处理END{}
处理完最后一行文本之后执行,一般用来处理输出结果,行号NR算最后一行

Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0
四、零散的笔记
1、使用seq num生成1到num,

Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

2、命令太长可以使用\分行,
Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

3、awk中访问未初始化的变量默认初始为0
Shell脚本,awk语句的初始语句BEGIN和结束语句END,使用seq num生成1到num,命令太长使用\分行,awk中访问未初始化的变量默认初始为0

上一篇:自己的一个js库


下一篇:【分布外检测】《YOUR CLASSIFIER IS SECRETLY AN ENERGY BASED MODEL AND YOU SHOULD TREAT IT LIKE ONE》 ICLR‘20