반응형



# 미리 정의된 변수. 

#FILENAME 현재 처리되고 있는 입력 파일의 이름

#FS 입력 필드 분리문자

#NR 현재 레코드(행)의 번호

#NF 현재 레코드(행)의 필드의 갯수

#OFS출력되는 필드의 분리문자

#, 는 space 출력. 큰 따옴표 속에 있으면 그냥 , 출력.

#ORS 출력 레코드 구분자(디폴트는 newline)

#RS 레코드 구분자(디폴트는 newline)





# 4번째 인자가 SR 인 경우 해당 행 출력.

# {} 생략의 경우 {print $0} 와 같다.

#awk -F',' '$4 == SR {print $0}' sample.DAT

#awk -F',' '$4 == SR' sample.DAT



# 행의 필드 개수, 첫번째 필드, 마지막 필드 출력.

#awk -F',' '{print NF, $1, $NF}' sample.DAT



# 2번째 인자가 001 으로 끝나는 data 를 001txt 파일에 저장.

# awk -F',' -f text.awk sample.DAT

#{

# if($2 ~ /001$/) printf "%s\n", $0 > "001.txt"

#}




# 'fly'를 포함하고 있는 라인의 총수 계산

#/fly/ { nlines = nlines + 1 }

#END { print nlines }




# 6번째 인자값의 평균.

# awk -F',' -f text.awk sample.DAT

# END 는 젤 마지막에 한번 실행됨

#{sum += $6}

#END {printf "The average of the 6th value is %.2f(%d lines)\n", sum/NR, NR}




# BEGIN 은 최초에 한번 실행됨.

#BEGIN { print "Date,      SRC_NO,       Service"; print ""}

#{print $1, $2, $3}




# Array

# 역순으로 출력.

#{ line[NR]=$0}

#END{

# i=NR;

# while(i>0){

# print line[i];

# i=i-1;

# }

#}




# 각 file의 5line씩만 출력

# FNR 은 NR과 유사하나 FNR 은 file이 바뀌면 reset됨

#awk -F',' 'FNR<=5 {print FILENAME ":" $0}' *.DAT

#awk -F',' 'FNR==1, FNR==5 { print FILENAME ":" $0}' *.DAT



# 8번째 인자가 src_number_001인 행 출력.

# 정규표현식 매칭.

#awk -F',' '$8 ~ /src_number_001/ {print $0}' sample.DAT


# for 문 예제.

a["hello"] = 1;

a["world"] = 2;

a["!"] = 3;

# iterate over keys  

for(key in a) {

    print key, a[key]

}



============================================================================

sample.DAT


20110316234441,src_number_001,MSP,SG,3A,11,1A,src_number_001,target_number,2001,1,2011031623401390,2011031623421600,171,0,MSP_bal

....

....



반응형

'OS > Linux' 카테고리의 다른 글

소스에서 한글로 된 주석 찾기  (0) 2015.05.13
APM 소스 설치  (2) 2014.03.24
vi 단축키 모음  (0) 2014.03.24
쉘 스크립트(shell script) - 표준 입출력  (2) 2014.03.24
리소스(resource) 부하 테스트  (1) 2013.11.22

+ Recent posts