AWK - Fonctions définies par l'utilisateur

Les fonctions sont les éléments de base d'un programme. AWK nous permet de définir nos propres fonctions. Un grand programme peut être divisé en fonctions et chaque fonction peut être écrite / testée indépendamment. Il fournit la réutilisation du code.

Vous trouverez ci-dessous le format général d'une fonction définie par l'utilisateur -

Syntaxe

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

Dans cette syntaxe, le function_nameest le nom de la fonction définie par l'utilisateur. Le nom de la fonction doit commencer par une lettre et le reste des caractères peut être n'importe quelle combinaison de chiffres, de caractères alphabétiques ou de trait de soulignement. Les mots de réserve d'AWK ne peuvent pas être utilisés comme noms de fonction.

Les fonctions peuvent accepter plusieurs arguments séparés par des virgules. Les arguments ne sont pas obligatoires. Vous pouvez également créer une fonction définie par l'utilisateur sans aucun argument.

function body se compose d'une ou plusieurs instructions AWK.

Écrivons deux fonctions qui calculent le nombre minimum et le nombre maximum et appelons ces fonctions à partir d'une autre fonction appelée main. lefunctions.awk le fichier contient -

Exemple

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

En exécutant ce code, vous obtenez le résultat suivant -

Production

Minimum = 10
Maximum = 20