Introduction

awk 는 sed 와 같이 텍스트 스트림을 입력받아 처리할 수 있는 스트림 에디터입니다. sed 와 달리 내부적으로 변수와 함수를 사용할 수 있고 연산자가 있어서 필요한 데이터 조작을 쉽게 처리할 수가 있습니다. awk 의 장점은 기존에 프로그래밍 경험이 있고 shell script 에 대한 지식이 있으면 실제 사용하는데 많은 시간이 들지 않는다는 것입니다. perl 같은 경우는 따로 시간을 들여 언어 공부를 해야 하지만 awk 는 기본적인 작동 방식 정도만 알면 shell 과 연계해서 쉽게 활용할 수가 있습니다. 예를 들어 입,출력을 shell 에서와 같이 pipe 와 redirection 문자를 이용해 처리합니다.

awk 는 실행하기 위해 꼭 데이터 입력 스트림이 필요하지 않습니다. BEGIN 블록을 이용하면 입력 스트림 없이도 독자적으로 스크립트를 실행시킬 수가 있습니다. awk 는 텍스트 조작에 필요한 스트링 함수 외에도 numeric, i/o, time 같은 함수들과 socket 연결 기능도 제공하므로 데이터 스트림을 처리할 때뿐만 아니라 독립적인 프로그램 작성용으로도 활용할 수가 있습니다.

awk 는 1970년대에 Bell 연구소에서 Alfred Aho, Peter Weinberger, Brian Kernighan 세 사람에 의해 처음 만들어졌는데 awk 라는 이름은 이 세 사람 이름의 첫 자를 따서 만들었다고 합니다. Brian Kernigan 은 awk 를 만든 목적에 대해 "필요한 프로그램을 단 몇 줄의 라인으로도 쉽게 만들 수 있게 하려고.." 라고 했는데요. 실제 awk 를 사용해보면 이 말의 의미를 쉽게 알 수가 있습니다.

Ubuntu Linux 에서 GNU Awk version 4.1.4 를 이용하여 설명하였습니다.

필요에 따라 수시로 업데이트 되므로 파일을 다운로드하는 것보다는 웹에서 보는 것이 좋습니다.
흰색 바탕이 너무 밝을 경우 좌측 상단에 보면 어두운 바탕으로 테마를 변경할 수 있습니다.
( 참고로 페이지는 Night 모드에서 작성하였습니다. )