Post

awk (Pattern Scanning and Processing Language)

텍스트 파일에서 패턴을 검색하고 처리하는 강력한 도구

awk (Pattern Scanning and Processing Language)

개요

  • 역할: 텍스트를 필드 단위로 처리하고, 계산/조건문/루프 등을 포함한 프로그래밍 기능까지 제공
  • 라인 + 필드 기반 처리: 기본 구분자는 공백, CSV는 -F 옵션 사용

주요 특징:

  • 조건문(if)과 반복문(for) 지원
  • 계산 가능, 보고서 형식 출력 가능
  • 데이터 정리, 통계, 필드 변형 등에 적합

기본 사용법

1
awk '패턴 { 액션 }' 파일명

예시: 파일에서 첫 번째 필드 출력

1
awk '{ print $1 }' input.txt

예시: 파일에서 두 번째 필드가 ‘apple’인 라인 출력

1
awk '$2 == "apple" { print }' input.txt

예시: 파일에서 첫 번째 필드와 두 번째 필드의 합계 계산

1
awk '{ sum += $1 + $2 } END { print sum }' input.txt

예시: CSV 파일에서 특정 필드 출력

1
awk -F, '{ print $3 }' input.csv

예시: 라인마다 특정 문자열 추가

1
awk '{ print $0 " - processed" }' input.txt > output.txt

awk vs sed

  • awk: 필드 단위로 처리, 조건문과 반복문 지원,
  • sed: 라인 단위로 처리, 간단한 치환과 삽입에 적합
  • 사용 예시: awk는 데이터 분석, sed는 간단한 텍스트 수정에 주로 사용
This post is licensed under CC BY 4.0 by the author.