AWK - Funciones definidas por el usuario

Las funciones son bloques de construcción básicos de un programa. AWK nos permite definir nuestras propias funciones. Un programa grande se puede dividir en funciones y cada función se puede escribir / probar de forma independiente. Proporciona reutilización del código.

A continuación se muestra el formato general de una función definida por el usuario:

Sintaxis

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

En esta sintaxis, el function_namees el nombre de la función definida por el usuario. El nombre de la función debe comenzar con una letra y el resto de los caracteres puede ser cualquier combinación de números, caracteres alfabéticos o guiones bajos. Las palabras de reserva de AWK no se pueden utilizar como nombres de funciones.

Las funciones pueden aceptar múltiples argumentos separados por comas. Los argumentos no son obligatorios. También puede crear una función definida por el usuario sin ningún argumento.

function body consta de una o más declaraciones AWK.

Escribamos dos funciones que calculen el número mínimo y máximo y llamemos a estas funciones desde otra función llamada main. losfunctions.awk el archivo contiene -

Ejemplo

# 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)
}

Al ejecutar este código, obtiene el siguiente resultado:

Salida

Minimum = 10
Maximum = 20