예제로 배우는 AWK/조건문

위키책, 위키책

awk 명령 프로그래밍 언어로 된 대부분의 조건 명령문은 C 프로그래밍 언어로 된 조건문과 동일한 구문 및 함수를 같는다. 모든 조건문은 명령문을 함께 그룹화하기 위해 {}(중괄호)의 사용을 허용한다. 또, 조건문의 표현식 부분과 문 부분사이에 선택적인 개행을 사용할 수 있다. Awk의 대표적인 조건문은 if문, while문, for문 등이 있다. 다음은 각 조건문의 형식이다.

if
if (Expression) {Statement} [else (action)]
while
while (Expression) {Statement}
for
for (Expression; Expression; Expression) {Statement}

여기서는 if문을 중심으로 살펴보기로 한다.

       if ($4 <= 20) {
              print $2;
       }
       else {
              print $3;
       }

위의 예에서는 필드4의 값이 20보다 작거나 같으면 필드2의 내용을 출력하게 된다. 만약 필드4의 값이 20보다 크면 필드3의 내용을 출력하게 하는 구문이다. 이를 이용해서 다음과 같이 좀 더 복잡한 구문을 만들수도 있다.

       if ($2 * $5 / 3 >= $4) {
              print $0, "\t", $2 * $5;
       }
       else {
              print "Wrong data";
       }