鍍金池/ 教程/ Linux/ AWK用戶自定義函數(shù)
AWK環(huán)境安裝配置
AWK格式化打印
Awk教程
AWK控制流
AWK循環(huán)
AWK用戶自定義函數(shù)
AWK工作流程
AWK數(shù)組
AWK基本語法
AWK基本示例
AWK運(yùn)算符
AWK內(nèi)置函數(shù)
AWK內(nèi)置變量
AWK輸出重定向
AWK正則表達(dá)式

AWK用戶自定義函數(shù)

函數(shù)是程序的基本組成部分。 AWK允許我們定義自己的函數(shù)。一個(gè)大項(xiàng)目可以分為多個(gè)函數(shù)并且每個(gè)函數(shù)可以寫/獨(dú)立測試。它提供了可重用性的代碼。

下面給出的是用戶自定義函數(shù)的一般格式為:

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

在上面的語法:

function_name是用戶定義函數(shù)的名稱。函數(shù)名稱應(yīng)以字符的字母并且其余部分可以是數(shù)字,字母或下劃線的任意組合。 AWK的保留字不能被用作函數(shù)名稱。

函數(shù)可以接受以逗號分隔的多個(gè)參數(shù)。參數(shù)不是強(qiáng)制性的。我們也可以創(chuàng)建一個(gè)用戶定義的函數(shù)不帶任何參數(shù)。

函數(shù)體由一個(gè)或多個(gè)AWK語句組成。

讓我們寫兩個(gè)函數(shù)計(jì)算最小和最大數(shù),從main函數(shù)中調(diào)用這些函數(shù)。我們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)
}

在執(zhí)行上面的代碼后,會得到以下結(jié)果:

Minimum = 10
Maximum = 20
 

上一篇:AWK基本語法下一篇:Awk教程