본문으로 건너뛰기

awk 사용법

awk

awk는 입력을 받아서 패턴을 찾아 원하는 형태로 변환하여 출력하는 스크립트 언어입니다.

awk 스크립트는 아래와 같은 방식으로 작성됩니다. 입력을 받아서 라인 별로 pattern이 매칭되는지 확인하고, 매칭되면 action을 실행합니다.

example.awk
# comment
pattern { action }
pattern { action }
awk [<flag>] '<script>' <input> [<input> ...]
awk [<flag>] -f <scriptFile> <input> [<input> ...]
  • <pattern>
    • BEGIN: 첫 번째 <input>을 읽기 전에 실행됩니다.
    • END: 모든 <input>을 읽은 후 실행됩니다.
  • <flag>
    • -F|--field-separator <regex>: 필드 구분자를 정규식으로 지정합니다. 기본값은 연속된 공백입니다.

action

내장 변수

  • FS
    • 필드 구분자입니다.
    • $0: 라인 한 줄 전체입니다.
    • $n: FS로 구분된 n 번째 필드, 없으면 빈 문자열입니다.
    • echo ' a b c d ' | awk 'BEGIN { FS = "[ \t]+" } { print $2 }'의 결과는 a 입니다.