awk는 C 문법을 연상시키는 완전한 형태의 텍스트 처리 언어입니다. awk는 광범위한 연산자들과 뛰어난 성능을 가지고 있지만 여기서는 쉘 스크립트에서 유용하게 쓰이는 몇 가지만 살펴 보도록 하겠습니다.
awk는 입력된 각 줄을 필드로 나눕니다. 디폴트로, 필드는 공백문자로 분리된 연속된 문자들로 이루어 집니다만 이 구분자를 바꿀수도 있습니다. awk는 이렇게 파싱된 필드를 기준으로 동작하게 됩니다. 이런 작업들로 인해 awk가 구조화된 텍스트 파일, 특히 열과 행으로 나누어진 일관된 데이타 묶음(chunk)으로 된 테이블 처리에 이상적인 도구가 되는 것입니다.
쉘 스크립트안에서는 awk 코드를 강한 쿼우트(strong quote, 작은 따옴표)와 중괄호로 묶어줍니다.
awk '{print $3}' # 세번째 필드를 표준출력으로 출력. awk '{print $1 $5 $6}' # 첫번째, 다섯번째, 여섯번째 필드를 출력. |
실제로 awk print 명령어의 사용법을 살펴 봤는데, 이제 변수에 대한 특징만 알아보고 마치겠습니다. awk는 변수를 쉘 스크립트와 비슷하게 다루는데 쉘 스크립트보다는 약간 더 융통성이 있습니다.
{ total += ${column_number} } |
END { print total } |
END와 짝을 이루는 BEGIN은 awk가 입력을 처리하기 전에, 실행할 코드 블럭 앞에 써줘야 합니다.
awk가 쉘 스크립트에서 쓰이는 예제는 다음을 참고하세요.
자, 여기까지가 우리가 다룰 awk의 모든 것입니다. 하지만 배울 것이 더 많으니까 서지사항에서 적당한 레퍼런스를 참고하세요.