把都是数字的行,最大的那个数字加起来,第一行是2,第二行是3,每四行是3,第五行是4,总和是12
在max方法里面,变量sum是会影响外面的,这里的sum是全局的。
[root@ecms mytest]# awk -f add.sh sum
sum=12
function max(one,two,sum){ //方法中的sum局部变量
if(one > two){
sum = sum + one;
}else{
sum = sum + two;
}
}
{if($1~"[0-9]" && $2~"[0-9]") max($1,$2,sum);}
END{print "sum="sum} //所以为空
[root@ecms mytest]# awk -f add.sh sum
sum=
function max(one,two,sum){
if(one > two){
sum = sum + one;
}else{
sum = sum + two;
}
return sum //加上return就可以了
}
{if($1~"[0-9]" && $2~"[0-9]") sum = max($1,$2,sum);}
END{print "sum="sum}