- AWK - Pretty Printing
- AWK - Output Redirection
- AWK - User Defined Functions
- AWK - Built in Functions
- AWK - Loops
- AWK - Control Flow
- AWK - Arrays
- AWK - Regular Expressions
- AWK - Operators
- AWK - Built in Variables
- AWK - Basic Examples
- AWK - Basic Syntax
- AWK - Workflow
- AWK - Environment
- AWK - Overview
- AWK - Home
AWK Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
AWK - User Defined Functions
Functions are basic building blocks of a program. AWK allows us to define our own functions. A large program can be spanided into functions and each function can be written/tested independently. It provides re-usabipty of code.
Given below is the general format of a user-defined function −
Syntax
function function_name(argument1, argument2, ...) { function body }
In this syntax, the function_name is the name of the user-defined function. Function name should begin with a letter and the rest of the characters can be any combination of numbers, alphabetic characters, or underscore. AWK s reserve words cannot be used as function names.
Functions can accept multiple arguments separated by comma. Arguments are not mandatory. You can also create a user-defined function without any argument.
function body consists of one or more AWK statements.
Let us write two functions that calculate the minimum and the maximum number and call these functions from another function called main. The functions.awk file contains −
Example
# 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) }
On executing this code, you get the following result −
Output
Minimum = 10 Maximum = 20Advertisements