www. On IT Road .com
用户定义函数
我们可以使用 func 或者 function 关键字在 awk 脚本文件中创建用户定义的函数。
在文件中的位置并不重要;函数定义可以出现在 awk 脚本中的任何地方。
该函数可以接受参数(仅限函数局部)或者使用任何现有变量。
函数定义的语法是:
func function_name ([optional_arg] . . .) { statements }
或者
function function_name ([optional_arg] . . .) { statements }
function_name 是在程序中的其他某个点调用函数的方式。
参数是允许的,但不是必需的。
在函数的定义中,只需要参数的名称。
这些参数只能在函数体(花括号内的语句)中访问。
但是,我们可以从函数内部访问 awk 脚本中正在使用的任何其他变量。
例如:
$ cat func.awk func MAX(val1, val2) { if (val1 > val2) return val1 else return val2 } BEGIN {largest = 0} {largest = MAX(largest, )} END {print largest}
$ awk -f func.awk data.file 5.7
我们可以使用 return 语句从函数返回一个值。
使用此返回值为变量赋值或者使用 if 语句执行某种测试。
为了执行这样的测试,在 if 语句中调用该函数。
如果函数返回非零值,则 if 语句认为测试为真;如果函数返回零值,则 if 语句认为测试为假,并且不执行 if 语句;例如:
if (function_call()) { statements }
日期:2020-09-17 00:13:59 来源:oir作者:oir