AWK-制御フロー

他のプログラミング言語と同様に、AWKはプログラムのフローを制御するための条件ステートメントを提供します。この章では、適切な例を使用してAWKの制御ステートメントについて説明します。

Ifステートメント

単に状態をテストし、状態に応じて特定のアクションを実行します。以下に示すのは、if ステートメント-

構文

if (condition)
   action

以下に示すように、中括弧のペアを使用して、複数のアクションを実行することもできます-

構文

if (condition) {
   action-1
   action-1
   .
   .
   action-n
}

たとえば、次の例では、数値が偶数かどうかをチェックします-

[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'

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

出力

10 is even number.

他のステートメントの場合

if-else 構文では、条件がfalseになったときに実行されるアクションのリストを提供できます。

の構文 if-else ステートメントは次のとおりです-

構文

if (condition)
   action-1
else
   action-2

上記の構文では、条件がtrueと評価されたときにaction-1が実行され、条件がfalseと評価されたときにaction-2が実行されます。たとえば、次の例では、数値が偶数かどうかをチェックします-

[jerry]$ awk 'BEGIN {
   num = 11; if (num % 2 == 0) printf "%d is even number.\n", num; 
      else printf "%d is odd number.\n", num 
}'

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

出力

11 is odd number.

If-Else-If Ladder

簡単に作成できます if-else-if 複数を使用してはしご if-elseステートメント。次の例はこれを示しています-

[jerry]$ awk 'BEGIN {
   a = 30;
   
   if (a==10)
   print "a = 10";
   else if (a == 20)
   print "a = 20";
   else if (a == 30)
   print "a = 30";
}'

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

出力

a = 30