본문으로 건너뛰기

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 입니다.