출처
http://www.thegeekstuff.com/2010/01/awk-introduction-tutorial-7-awk-print-examples/
http://cs.canisius.edu/ONLINESTUFF/PL_TUTORIALS/AWK/awk.examples
awk 명령 옵션 모음
# 파일 전체 출력
$ awk '{print;}' example1
100 Thomas Manager Sales $5,000
200 Jason Developer Technology $5,500
300 Sanjay Sysadmin Technology $7,000
400 Nisha Manager Marketing $9,500
500 Randy DBA Technology $6,000
# 특정 패턴 매칭 출력
$ awk '/Thomas/ # 엔터키로 패턴 추가
> /Nisha/' example1
100 Thomas Manager Sales $5,000
400 Nisha Manager Marketing $9,500
특정 열만 출력
$ awk '{print $2, $5}' ./example1
$ awk '{print $2, $NF}' ./example1 # NF는 마지막 필드를 뜻함
Thomas $5,000
Jason $5,500
Sanjay $7,000
Nisha $9,500
Randy $6,000
특정 범위만 출력
$ awk '$1 > 300' example1 # 1열이 300보다 크면 출력
400 Nisha Manager Marketing $9,500
500 Randy DBA Technology $6,000
지정된 열에 지정된 스트링과 일치하는 라인만 출력
$ awk '$4 ~/Technology/' ./example1 # 4열에 Technology가 있으면 출력
200 Jason Developer Technology $5,500
300 Sanjay Sysadmin Technology $7,000
500 Randy DBA Technology $6,000
지정된 라인에 지정된 스트링과 매칭하는 라인의 개수 출력
# 4열에 Technology 매칭되면 count를 증가 시켜서 그 개수를 출력해줌
$ awk 'BEGIN { count=0;} # 엔터
> $4 ~ /Technology/ { count++; } # 엔터
> END { print "Number of employees in Technology Dept =",count;}' example1
Number of employees in Technology Dept = 3
라인별 length 비교하여 출력
$ awk 'length == 7 {print $0}' last_name # 라인의 length가 7이면 출력
진 陈
번 樊
보 寶
순 順
...
'Linux' 카테고리의 다른 글
sed 기본 명령 예제 (465) | 2015.07.21 |
---|---|
centos에서 userdel 수행시 에러 발생한 경우 (466) | 2015.07.20 |
[MYSQL] InnoDB 엔진이 사라진 경우 (InnoDB missing) (12) | 2014.11.04 |
SSHD 데몬 기동하기 (SFTP사용) (10) | 2014.04.24 |
포트번호를 가지고 프로세스ID 확인하는 lsof 명령 사용법 (LINUX) (10) | 2013.11.01 |