Awk-user-defined-functions

提供:Dev Guides
移動先:案内検索

AWK-ユーザー定義関数

関数は、プログラムの基本的な構成要素です。 AWKでは、独自の関数を定義できます。 大きなプログラムは機能に分割でき、各機能は個別に作成/テストできます。 コードの再利用性を提供します。

以下は、ユーザー定義関数の一般的な形式です-

構文

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

この構文では、 function_name はユーザー定義関数の名前です。 関数名は文字で始める必要があり、残りの文字は数字、アルファベット文字、またはアンダースコアの任意の組み合わせにすることができます。 AWKの予約語は関数名として使用できません。

関数は、コンマで区切られた複数の引数を受け入れることができます。 引数は必須ではありません。 引数なしでユーザー定義関数を作成することもできます。

  • 関数本体*は1つ以上のAWKステートメントで構成されます。

最小数と最大数を計算する2つの関数を作成し、これらの関数を 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)
}

このコードを実行すると、次の結果が得られます-

出力

Minimum = 10
Maximum = 20