Учебники

AWK — пользовательские функции

Функции являются основными строительными блоками программы. AWK позволяет нам определять наши собственные функции. Большая программа может быть разделена на функции, и каждая функция может быть написана / протестирована независимо. Это обеспечивает возможность повторного использования кода.

Ниже приведен общий формат пользовательской функции —

Синтаксис

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

В этом синтаксисе имя_функции — это имя пользовательской функции. Имя функции должно начинаться с буквы, а остальные символы могут быть любой комбинацией цифр, букв или символов подчеркивания. Резервные слова 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)
}

Выполнив этот код, вы получите следующий результат —