if( 条件 ) { 処理 } if( 条件 ) { 処理 } else { 処理 }条件には算術演算、論理演算、文字演算が利用でき、主な演算子は次の通りです。
演算子 | 数値データの場合 | 文字データの場合 |
---|---|---|
==, != | 等しい、等しくない | 一致する、しない |
>, < | 数値の大小比較 | 文字数の大小、同じ場合は辞書順の大小 |
>=, <= | 数値として以上、以下 | 同上または等しい |
~, !~ | N/A | 文字列の部分一致、不一致 |
!,||,&& | 論理否定、論理和、論理積 | 同左 |
$ cat if.awk BEGIN{ data=123 } { if( $0+0 > data ) { # 数値比較 printf "%d > %d\n", $0, data } else { printf "%d <= %d\n", $0, data } if( $0"" > data ) { # 文字比較 printf "%s > %s\n", $0, data } else { printf "%s <= %s\n", $0, data } } $ awk -f if.awk 0 # 0 は数値、文字とも 123 より小 0 <= 123 0 <= 123 A 0 <= 123 # A は数値変換後 0 となってしまう A > 123 12a 12 <= 123 # 12a は数値変換後 12 となってしまう 12a > 123