예제로 배우는 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";
}