티스토리 뷰

awk (A.V.Aho, P.J. Weinberger, B. Kernigham)

  • awk란 이름은 이 유틸리티를 작성한 A.V.Aho, P.J. Weinberger, B. Kernigham의 머리글자에서 따온 것이다.
  • awk 명령어는 패턴의 검색과 조작을 주목적으로 만들어진 명령어이다.

awk [-옵션] pattern {action} 파일

옵션설명
-F필드구분자를 지정할 때 사용하며, 기본 필드구분자는 공백이다.
-f스크립트파일을 불러온다.

pattern

패 턴내 용
BEGIN입력화일을 읽어들이기 전에 옆에 제시되는 문자을 실행시키도록 한다.
ENDawk가 모든 입력을 처리한 후, 옆에 제시되는 문장을 실행시키도록 한다.
expression식을 평가한 후 이 식이 참, 즉 non-zero이거나 non-null인 경우 문장을 실행한다.
/re/정규식과 일치하는 문자열을 포함하고 있는 라인에서 문장을 실행한다.
compound-pattern복합패턴이라는 것으로 &&(and), ||(or) , !(not) 그리고 괄호에 의해 연결시킨 것이다. expression의 경우와 마찬가지로 복합 패턴도 참인 경우의 문장을 실행시킨다.
pattern1, pattern2이러한 패턴을 범위 패턴이라한다. 현재 처리되고 있는 라인이 pattern1과 일치되고, 다음에 따라오 는 라인 중 임의의 라인이 pattern2와 일치할 때, 범위 패턴은 두 라인 사이의 각 라인과 일치한다.

action

액션은 문장(statements)으로 이루어져 있다. 액션은 간단하게 상수 하나로 이루어질 수도 있고, 개행 문자나 세미콜론(;)에 의해 분리된 몇 개의 문장의 연속으로 구성될 수도 있다.

  • expressions
  • print expression-list
  • printf(format, expression-list)
  • if (expression) statement
  • if (expression) statement else statement
  • while (expression) statement
  • for (expression; expression; expression) statement
  • for (variable in array) statement
  • do statement while (expression)
  • break
  • continue
  • next
  • exit
  • exit expression
  • {statement}

연산자

연 산 자내용
= += -= *= /= %=배정(assignment)연산자
+ - * / % ++ --산술 연산자
|| && !논리 연산자(|| = OR, && = AND, ! = NOT)
> >= < <= == !=비교 연산자
v ~p변수 V가 패턴 P에 부합되면 참
v !~p변수 V가 패턴 P에 부합되지 않으면 참

미리 정의된 변수

변 수내 용
FILENAME현재 처리되고 있는 입력 파일의 이름
FS입력 필드 분리문자
NR현재 레코드(행)의 번호
NF현재 레코드(행)의 필드의 갯수
OFS출력되는 필드의 분리문자

출처 - Dreamy House

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함