AWK - funções definidas pelo usuário

Funções são blocos básicos de construção de um programa. AWK nos permite definir nossas próprias funções. Um grande programa pode ser dividido em funções e cada função pode ser escrita / testada independentemente. Ele fornece reutilização de código.

A seguir está o formato geral de uma função definida pelo usuário -

Sintaxe

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

Nesta sintaxe, o function_nameé o nome da função definida pelo usuário. O nome da função deve começar com uma letra e o restante dos caracteres pode ser qualquer combinação de números, caracteres alfabéticos ou sublinhado. As palavras de reserva de AWK não podem ser usadas como nomes de funções.

As funções podem aceitar vários argumentos separados por vírgula. Os argumentos não são obrigatórios. Você também pode criar uma função definida pelo usuário sem nenhum argumento.

function body consiste em uma ou mais declarações AWK.

Vamos escrever duas funções que calculam o número mínimo e máximo e chamar essas funções de outra função chamada main. ofunctions.awk arquivo contém -

Exemplo

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

Ao executar este código, você obtém o seguinte resultado -

Resultado

Minimum = 10
Maximum = 20