02장. awk 프로그래밍
sed가 텍스트를 변환하는 도구라면, awk는 텍스트 데이터를 처리하는 작은 프로그래밍 언어입니다. 필드를 분리하고, 조건을 판단하고, 집계를 계산하는 일을 명령어 한 줄로 처리합니다. 이름이 낯설어서 어렵게 느껴지지만, 기본 구조를 이해하면 복잡한 데이터 처리를 놀랍도록 간결하게 표현할 수 있습니다.
이 장에서는 awk의 기본 구조부터 실전 로그 분석 보고서 생성까지 단계적으로 익혀봅니다.
학습 목표
- awk의 패턴-액션 구조와 BEGIN/END 블록을 설명할 수 있습니다.
- 필드 변수(2, $NF)와 구분자(-F)를 활용해 데이터를 추출할 수 있습니다.
- 내장 변수 NR, NF, FS, OFS를 상황에 맞게 사용할 수 있습니다.
- printf로 정렬된 형식의 출력을 만들 수 있습니다.
- 조건문, 반복문, 배열을 사용해 데이터를 집계할 수 있습니다.
- awk로 실전 로그 분석 보고서를 생성할 수 있습니다.
구성
| 절 | 제목 | 주요 내용 |
|---|---|---|
| 01 | awk 기본 구조 | 패턴-액션, BEGIN/END, 필드 변수, -F 옵션 |
| 02 | 필드와 레코드 처리 | 내장 변수, 필드 재구성, 조건부 출력, printf |
| 03 | 패턴과 액션 | 정규식/범위/비교 패턴, 변수, 배열, 조건문, 함수 |
| 04 | 실전: 로그 분석 보고서 | Apache access.log 분석, 집계, 보고서 생성 |