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' *
'DevOps' 카테고리의 다른 글
How to mount EBS volume into EC2 Ubuntu Instance (0) | 2014.11.23 |
---|---|
Mail Server 만들기: Postfix, Dovecot install on Ubuntu 14 and Configuration Outlook mail client (0) | 2014.10.05 |
wget 을 통한 JDK 다운받기 (0) | 2014.10.02 |
AWS EC2 micro instances에 Virtual memory추가. (0) | 2014.09.30 |
Free tire Amazon Web Servicle, 100% 알뜰하게 사용하는 방법 (0) | 2014.09.30 |