패턴 검색 및 출력 내용 변환에 사용되는 도구이다.
ex) awk -F: 'BEGIN{print "start AWK"} /root/{if($3 == 0){print $7}} END{print "end AWK\n"}' /etc/passwd
※ /etc/passwd를 ‘:’로 문자열을 쪼개고 “start AWK”라는 문자열을 출력한 뒤 root라는 문자열을 포함하고 있는 행에서 3번째 필드가 0이라면 7번째 필드 값을 출력하고 출력이 끝나면 마지막으로 “end AWK”를 출력하고 종료한다.
-주요 옵션
옵션 |
|
설명 |
-F<separator> |
field |
문자열을 나눌 기준을 정한다. |
1. BEGIN 영역
awk를 실행하면 가장 먼저 처리되는 영역이다.
이 영역에서는 레코드는 읽어 들이지 않는다.
2. Main 영역
// 사이에 읽어 들일 문자열 또는 정규식이 들어가고 {} 사이에 처리 코드가 들어간다.
이 영역에서는 if, for, while, print 등의 기본적인 조건문을 사용할 수 있다.
-미리 정의된 변수
변수명 |
설명 |
FILENAME |
입력 파일명 |
FS |
입력 필드 분리자 (Default : 공백) |
RS |
입력 레코드 분리자 (Default : 개행문자) |
OFS |
출력 필드 분리자 (Default : 공백) |
ORS |
출력 레코드 분리자 (Default : 개행문자) |
$0~$n |
분리된 문자열 필드은 $1~$n 값을 가지며 $0은 레코드의 전체 문자열을 의미한다. |
NF |
현재 레코드의 필드 수 |
NR |
현재 처리되고 있는 레코드 수 |
3. END 영역
모든 레코드에 대한 처리가 끝난 뒤 실행되는 영역이다.반응형
'툴 > 기타' 카테고리의 다른 글
암호화 영역 생성 TrueCrypt (0) | 2012.07.18 |
---|