- NS2 Smulation 후 분석
- 정량적인 데이터 분석
- tr 파일을 이용 원하는 정보만 추출하는 과정 필요 -> Parsing
- awk : parsing 전용 language
- 실행 : awk -f <awk 스크립트> <입력파일>
- c와 유사한 문법/ 함수
- 구성
- BEGIN{}
- 입력파일(파싱할 파일)을 읽 전에 한번 실행
- 변수 초기화
- {}
- 입력파일의 매 라인마다 실행
- 실제 파싱
- END{}
- 입력파일의 끝에 도달했을 때 한번 실행
- 변수 최종값 출력
- BEGIN{}
- 변수
- "..." : 문자열 상수
- name = "Bestya"; #name에 문자열 상수 bestya 할당
- age2 = "28" #age2에 문자열 28 할당
- 숫자 : 숫자 상수
- age = 28; # age에 숫자 28 할당
- 숫자와 문자 조합 : 변수 이름
- 변수 선언은 필요치 않다.
- 미리 입력된 변수 (입력 파일의 실행 시점 기준)
- NF : number of fields, 이라인의 단어 수
- NR : number of record, 라인 넘버
- FILENAME: 이 파일 이름
- FS : field deparator, 단어 구분자, 기본은 " "
- RS : record separator, 라인 구분자, 기본은 "\n"
- $0 : 이 라인
- $1 : 이 라인의 첫번째 단어
- 출력문
- printf : c와 동일
- print(변수 또는 상수, 변수 또는 상수, 변수 또는 상수,...) : 공백간격으로 출력됨, 줄바꿈
- 제어문
- 조건에는 <, >, <=, >=, ==, != 가 올 수 있음, 문자열간의 비교도 가능
- if (조건1) {몸체1} else if(조건2) {몸체2} else {몸체3}
- for (초기화; 조건; 증가) {몸체}
- while (조건) {몸체}
- awk 매뉴얼
예
{
#필요한 결과를 얻기 위한 규칙
#tr 포맷과 필요한 결과의 상황으로 부터 작성
if($4 == 3 && $1 == "r" && $9 =="0.0") {
print $11, $2
#필요한 결과를 얻기 위한 규칙
#tr 포맷과 필요한 결과의 상황으로 부터 작성
if($4 == 3 && $1 == "r" && $9 =="0.0") {
print $11, $2
}
'Network > Ns2_Lecture' 카테고리의 다른 글
NS2 - OTcl linkage (0) | 2009.01.18 |
---|---|
NS2 trace (0) | 2009.01.18 |
NS2 스크립트 - 유선환경 시뮬레이션 (0) | 2009.01.18 |
Description of the ns-2 modifications (0) | 2009.01.18 |
5.3 Node Configuration Interface (0) | 2009.01.18 |