背景:
AWK是类UNIX系统中的文本处理工具,使用AWK编程实现基于文本数据库统计,往往效率比较好,至少我测试的情况比PERL脚本效率高不少。
注意事项:
1. AWK编程中,定义函数时,不建议在函数中使用全局变量。原因是不利函数重
2. AWK编程中,建议将所有局部变量定义在函数形式参数中,方便函数重用、移植
AWK自定义函数形式:
function name(arg1, arg2, ... , _result, _var1, _var2, ...) {
...
}
注:函数返回结果采用固定局部变量名_result
函数所有的局部变量建议以"_"符号开头
函数所有局部变量建议在程序开始时设置初始值。防止实际调用函数时,多传入参数值,导致局部变量有值,甚至影响函数执行结果
3. AWK编程中,建议将可重复利用的公共函数放置到单独的AWK程序文件中
AWK引入定义了公共函数的AWK程序文件命令:
awk -f common_function.awk -f common_function2.awk -f script.awk
注:common_function.awk和common_function2.awk为定义了公共函数的AWK程序文件
script.awk为引用了公共函数的AWK程序文件
另外一种引用公共AWK程序文件的方式请使用igawk命令,它实际上是一shell脚本
4. 使用awk命令,当需要指定字段分隔符时,最后在命令行和awk程序文件(如果有的话)同时指定
指定字段分隔符的AWK命令:
awk -F\| -f script.awk
注:只所以采用“-F\|”指定字段分隔符,是因为有些类UNIX系统中AWK实现不能识别AWK程序文件中的OFS值,所以建议同时指定
5.
AWK是类UNIX系统中的文本处理工具,使用AWK编程实现基于文本数据库统计,往往效率比较好,至少我测试的情况比PERL脚本效率高不少。
注意事项:
1. AWK编程中,定义函数时,不建议在函数中使用全局变量。原因是不利函数重
2. AWK编程中,建议将所有局部变量定义在函数形式参数中,方便函数重用、移植
AWK自定义函数形式:
function name(arg1, arg2, ... , _result, _var1, _var2, ...) {
...
}
注:函数返回结果采用固定局部变量名_result
函数所有的局部变量建议以"_"符号开头
函数所有局部变量建议在程序开始时设置初始值。防止实际调用函数时,多传入参数值,导致局部变量有值,甚至影响函数执行结果
3. AWK编程中,建议将可重复利用的公共函数放置到单独的AWK程序文件中
AWK引入定义了公共函数的AWK程序文件命令:
awk -f common_function.awk -f common_function2.awk -f script.awk
注:common_function.awk和common_function2.awk为定义了公共函数的AWK程序文件
script.awk为引用了公共函数的AWK程序文件
另外一种引用公共AWK程序文件的方式请使用igawk命令,它实际上是一shell脚本
4. 使用awk命令,当需要指定字段分隔符时,最后在命令行和awk程序文件(如果有的话)同时指定
指定字段分隔符的AWK命令:
awk -F\| -f script.awk
注:只所以采用“-F\|”指定字段分隔符,是因为有些类UNIX系统中AWK实现不能识别AWK程序文件中的OFS值,所以建议同时指定
5.