自定义函数
函数的最大好处在于可以模块化程序,减少重复代码、复用已有功能,但是需要注意的是只有gawk,即GUN的awk实现才支持自定义函数的功能。
function max(x, y) {
i = 9;
x = 10;
m = 100;
return x>y?x:y;
}
BEGIN{
}
{
i = 0;
x = 5;
result = max(10, 100);
print("max: "result);
print("i: "i);
print("x: "x);
print("y: "y);
print("m: "m);
}
END{
}
$echo ""|awk -f chapter_2_5-1.awk
max: 100
i: 9
x: 5
y:
m: 100
函数的定义很简单,使用function关键字+函数名+参数名就可以了,这里特别要注意的是变量的生命周期范围,除形参x,y是函数内的局部变量外,所有进行了赋值操作的变量都是全局变量,在函数内进行了任何修改的话都会将修改结果带出函数外。