AWK - 用户定义函数

函数是程序的基本构建块。 AWK 允许我们定义自己的函数。 一个大程序可以划分为多个函数,每个函数都可以独立编写/测试。 它提供了代码的可重用性。

下面给出的是用户定义函数的一般格式 −

语法

function function_name(argument1, argument2, ...) { 
   function body
}

在此语法中, function_name 是用户定义函数的名称。 函数名称应以字母开头,其余字符可以是数字、字母字符或下划线的任意组合。 AWK 的保留字不能用作函数名。

函数可以接受以逗号分隔的多个参数。 参数不是强制性的。 您还可以创建不带任何参数的用户定义函数。

函数体由一个或多个 AWK 语句组成。

让我们编写两个函数来计算最小值和最大值,并从另一个名为 main 的函数中调用这些函数。 functions.awk 文件包含 −

示例

# Returns minimum number
function find_min(num1, num2){
   if (num1 < num2)
   return num1
   return num2
}
# Returns maximum number
function find_max(num1, num2){
   if (num1 > num2)
   return num1
   return num2
}
# Main function
function main(num1, num2){
   # Find minimum number
   result = find_min(10, 20)
   print "Minimum =", result
  
   # Find maximum number
   result = find_max(10, 20)
   print "Maximum =", result
}
# Script execution starts here
BEGIN {
   main(10, 20)
}

在执行此代码时,您会得到以下结果 −

输出

Minimum = 10
Maximum = 20