Linux Programmer

awk 강의 발표 자료 - 문자열 처리 언어, 정규표현식 본문

저술 관련

awk 강의 발표 자료 - 문자열 처리 언어, 정규표현식

sunyzero 2014. 5. 30. 13:03

awk는 "패턴 검색과 처리언어"로서 독자적인 처리 문법과 언어 구성을 갖춘 툴이다. 문자열을 해석, 자르기, 계산, 정규표현식(REGEX) 등등 다양한 기능을 제공하며, 속도도 훌륭하다.


따라서 대부분의 UNIX, Linux, OSX에서 많이 사용되며, 유능한 프로그래머, 시스템 관리자라면 필수적으로 다루는 유틸리티이다. 본인이 속한 증권업계에서는 데이터나 로그를 분석, 전처리, 후처리 가공을 하는 용도로도 많이 사용한다.


특히 grep, sed는 간단한 문자열 치환이나 삭제 정도의 처리만 가능한데 비해 awk는 문자열이나 패턴을 숫자로 파싱하여 계산하는 작업을 지원한다. awk의 장점은 다음과 같다.

  • 숫자(정수, 실수)를 지원한다.
  • 삼각함수, 지수, 로그, 제곱근, 랜덤변수 등의 수학적 기능을 제공한다.
  • 정규표현식을 지원한다.
  • 문자열 치환, 자르기, 배열화, 포매팅(printf 계열)을 지원한다.
  • 전처리, 후처리 기능을 제공한다.

위와 같은 장점 때문에 grep, sed로 가능한지 살펴보고 안된다면 awk로 처리하는 경우가 많다.


awk - pi caculationawk - pi 계산




* awk에 대한 짤막한 상식

설계자인 Aho. Weinbrger, Kernighan의 머릿글자에서 유래했으며, /ɔːk/ 라고 읽는다.

참고로 Kernighan은 Dennis Ritchie와 C언어를 만든 사람으로 더 유명하다.


Brian KernighanBrian Kernighan


리눅스의 awk는 GNU awk(gawk)로서 좀 더 확장된 기능을 가진 버전이다. 물론 POSIX awk의 기능도 포함한다.



awk - shell programming.pdf



awk - shell programming.pptx



* 비상업적 용도로 복사, 배포가 가능합니다. 

* SK, SDS, KOSCOM에서 강의를 들은 분들은 변경, 추가된 부분이 있으니 항상 최신 버전의 파일을 받으시기 바랍니다.


* History

2014.12.22 오타 수정, shell variable 처리 방법 추가

2014.05.30 awk PPT 첫 배포

0 Comments
댓글쓰기 폼