AWK-ユーザー定義関数

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

以下に、ユーザー定義関数の一般的な形式を示します。

構文

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

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

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

function body 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