본문 바로가기
창고/Backup_2013_0121

awk 사용법 ( 오크 오크-_-)

by 가능성1g 2011. 8. 22.
반응형


*.awk
텍스트파일을 자릿수대로 파싱할때 간단하게 쓰임.
간단한 셈도 가능 ( man 참조 )

ls -alt | awk '{print $1 $9}'

빈칸을 구분으로 하여 가장 앞 부분의 필드를 출력

FS 필드 구분자 - Fields Seperator
RS 레코드 구분자 - Records Seperator
NF 현재 레코드의 필드수(Number of Fields)
NR 현재 파일에서 레코드 넘버(Number of Records)
FNR 입력파일이 여러개인 경우에 현재 파일에서의 NF를 표시한다.
OFS 출력시의 FS(Output Fields Seperator). 이 값을 변경하게 되면, 출력시의 FS 가 바뀌게 된다.
ORS 출력시의 RS(Output Records Seperator). 이 값을 변경하게 되면, 출력시의 RS 가 바뀌게 된다

파일의 이름만 정렬해서 출력하기

ls -al | awk '{print $NF}' | sort

wc -l 을 이용해서 워드 카운트도 가능!!


-- RS FS 사용 예제

# cat cards.dat
홍길동
움막짐넷(주)
조선시대 우리집 웃흥웃흥
051-123-4567

임꺽정
하드머리
강진시 오행오행
02-5678-9999

# cat record.awk
#!/bin/awk
BEGIN {
        RS = "\n\n";
        FS = "\n";
}
{
        print $1, $NF;
}

$NF 마지막 필드 값 출력

--실행
# awk -f record.awk

grep "Program Start :" * | awk '{print $NF}' | sort | more

반응형