1. 사용

grep [OPTIONS] PATTERN [FILE ...]


2. 설명

grep 입력 파일을 줄단위로 읽으면서 PATTERN 일치하는 문자열이 있는지 확인해서 출력한다.

 

3. 옵션

매칭방법 선택

-E, --extended-regexp

패턴일치를 확인하기 위해서 확장 정규표현(:12)식을 사용한다. 확장 정규표현식은 POSIX 정의되어 있다. egrep명령을 사용한 것과 같다.

-F, --fixed-string

정규표현식을 사용하지 않고, PATTERN 일치하는지를 단순 확인한다.

-G, --basic-regext

기본 정규표현식으로 패턴일치를 확인한다.

-P, --perl-regexp

perl() 정규표현식으로 패턴일치를 확인한다. 펄의 패턴일치를 완전하게 구현했다고 없으므로 제대로 사용하려면 어느 정도의 경험이 필요하다.


매칭제어

-e PATTERN, --regexp=PATTERN

PATTERN 패턴일치 문자열로 사용한다.

-f FILE, --file=FILE

패턴일치를 검사할 파일을 지정한다.

-i, --ignore-case

대소문자를 구분하지 않는다.

-v, --invert-match

일치하는 문자열을 포함하지 않는 줄을 출력한다.


4. 예제

모든 파일에 대해서 글자가 a나 b로 시작하는 알파벳인 행을 출력한다.

 # grep "^[ab]" *


모든 파일에 대해서  글자가 a에서 z사이의 알파벳인 행을 출력한다.

 # grep "^[a-z]" *

  

"hello" 포함한 모든 행을 출력한다.

# grep "hello" *

 

"hello" 포함하지 않은 행을 출력한다.

# grep -v "hello" *


"hello"로 끝나는 단어를 포함하는 행을 출력한다.

# grep "hello$" *

 

전화번호를 포함한 행을 출력한다. 포맷 : 000-0000-0000

# grep -E '^[0-9]{3}-[0-9]{3}-[0-9]{4}' *

 

failure 1 이상 연속한 행을 출력한다.

# grep -E "(failure)+" *

 

다음에 yes no 오는 행을 출력한다.

# grep -E '? (yes|no)' *

 

*** 만일 출력의 결과를 행번호와 함께 출력하고자 하는경우 -n을 준다.

# grep -n 'hello' *

 

Posted by Steven J.S Min
,