awk 사용법입니다.
awk Program Filename
- Program : 명령어
- Filename : awk를 적용할 File
awk -f File Filename
- File : Program 명령어들을 포함하고 있는 file
Program
패턴 |
의미 |
/joon/ |
문자열 joon을 포함하고 있는 라인 |
$1 - /joon/ |
1번째 필드가 joon을 포함하고 있는 라인 |
$1! - /joon/ |
1번째 필드가 joon을 포함하고 있지 않은 라인 |
/joon/ || /kyung/ |
joon or kyung 문자를 포함하고 있는 라인 |
/joon/ && /kyung/ |
joon과 kyung 두개의 문자를 포함하고 있는 라인 |
위와 같이 두 개의 data가 포함된 file이 있을 때 특정 문자열로 검색을 하는 명령어 입니다.
# awk /kwonjoonsang/ data
Program을 파일로 저장한 경우 -f 옵션을 사용하여 검색합니다.
# awk -f datarule data
계산식이 필요한 경우 위와 같이 print 문과 ;(세미콜론)으로 구분합니다.
{ s=$3+$4 ; print s}
여기서 $숫자는 필드 위치를 의미합니다.
($1은 첫번째 필드, $2는 두번째 필드... 단 $0은 필드 전체를 의미합니다.)
만일 고정 문자를 출력하고 싶은 경우 다음과 같이 합니다.
""(큰 따움표) 문자를 추가하는 경우 결과 값에 해당 문자가 추가되어집니다.
Default로 필드 구분은 공백문자로 구분되어 집니다.
만일 File의 필드 구분이 다른 문자로 이루어진 경우 -F옵션을 사용합니다.
# awk -F: '{print $1}' commatest
-F 다음에 있는 구분자 : 로 필드를 구분하게 됩니다.
^[] 는 안에 있는 문자로 시작하는 Data를 보여주게 됩니다.
^[123450] 의 경우 1, 2, 3, 4, 5, 0 으로 시작하는 Data를 보여주게 됩니다.
변수 설정을 통해 Data를 출력하는 경우 위와 같이 선언합니다.
변수는 자동으로 초기화 되므로 변수를 초기화 할 필요가 없습니다.
'Linux' 카테고리의 다른 글
Sed 명령어 (0) | 2013.10.22 |
---|---|
Linux File System 추가 (0) | 2013.10.20 |
Linux Hostname 변경 (0) | 2013.10.19 |
CentOS 설치 (0) | 2013.10.19 |