본문 바로가기

필수개념과 명령어

패턴처리언어(AWK)

 

 

 

 

 

 

 

 

 

 

 

[awk 를 활용한 예제]

 

01. 특정파일에 반복문자열 입력하기

      ex) file1에 있는 사용자 명 앞에 "usermod -L" 문구 일괄 입력하기

 


[방법1] cat file1 | awk '{printf "%s %s\n","usermod -L", $1}' > file2

 

[방법2] awk '{print "usermod -L " $1}' file1 > file2

 

[방법3] cat file1 | awk '{print "usermod -L " $1}' > file2 

 

 

[ 테스트 파일 : datafile ]

vi에디터를 통해 위와 같이 테스트 할 파일을 만든다.

 

02. west 라는 글이 있는 줄 출력

 

03. north로 시작하는 줄 출력

 

04. no 또는 so 로 시작하는 줄 출력


05. datafile 리스트의 세 번째와 두 번째 필드를 스페이스로 띄어서 출력

 

06. datafile 리스트의 세 번째 와 두 번째 필드를 그냥 붙여서 출력

 

07. datafile의 각 줄마다의 필드수를 리턴한다. (NF는 awk 시스템 변수로써 현재 레코드 필드 수를 의미함)

 

08. 두번째 필드의 문자가 "NW" 이거나 첫번째 필드의 문자가 "south" 이면 첫번째와 두번째 필드 출력

위 문장은 awk '$2 =="NW" || $1 =="south" {print $1,$2}' datafile 로 바꾸어도 됨

 

09. 입력 필드로 스페이스와 ':'를 필드 구별자로 사용

 

 

10. 다섯 번째 필드가 마침표 다음에 7과 9사이 숫자가 하나 이상 나오는 레코드 출력

 

11. 두 번째 필드에 E 패턴이 없는 레코드의 첫 번째와 두 번째 필드 출력

 

12. 세 번째 필드가 Joel로 시작하면 " is a nice guy"와 함께 출력

 

13. 여덟 번째 필드가 두 개의 숫자이면 그 필드가 출력

14. 네 번째 필드가 Chin으로 끝나면 "The price is $" 8번 필드 및 마침표가 출력

 


 

'필수개념과 명령어' 카테고리의 다른 글

필드 골라보기 ( CUT )  (0) 2015.01.09
UMASK  (0) 2015.01.09
SED 명령어 사용법  (0) 2015.01.09
스트림편집기(SED)  (0) 2015.01.09
iptables 개념 및 명령어  (0) 2015.01.04