티스토리 뷰

[IT]/리눅스

[IT][linux] grep 명령어

jamesku 2013. 3. 27. 20:24

 

 

[IT][linux] grep 명령어


파일에서 특정한 패턴(문자열)을 찾는 명령어이다. 

이는 해당 문자열이 들어있는 파일을 찾아 그 문자열이 들어가 있는 라인(행)을 화면에 출력한다.



grep [옵션] [정규표현식(문자열)] [찾기 대상이 될 파일명]




--help : help 메세지를 출력


, --count : 파일의 내용 대신 문자열이 들어있는 라인의 수를 출력(3개의 라인에서 매칭된다면 3출력)


-n, --line-number : 문자열이 들어있는 라인과 문두에 라인번호를 출력


-i, --ignore-case : 문자열의 대소문자 구분하지 않음


-l(소문자 L), --files-with-matches : 문자열 을 포함하는 파일의 이름만 출력


-r, --recursive  : 서브 디렉토리의 파일까지 모두 출력


-v, --invert-match : 문자열이 제외된, 즉 문자열이 포함되어 있지 않은 라인을 출력


-e PATTERN, --regexp=PATTERN : pattern 에서 찾을 문자열 명시, 패턴으로 PATTERN을 사용("-으로 시작하는 패턴"을 보호하는데 유용)



-w, --word-regexp : pattern 이 전체 단어와 일치하는 줄만 출력, 단어의 일부로써 일치하는 경우가 아닌, 하나의 단어로써 일치하는 줄이 출력.


-x, --line-regexp : pattern 이 전체 줄과 일치하는 줄만 출력


-a, --text  : 기본적으로 grep는 바이너리 파일을 처리할 수없다. 그런데 바이너리파일을 텍스트파일처럼 처리할 수있는 옵션이 -a 옵션이다


-A NUM, --after-context=NUM : 패턴매칭라인 이후의 라인을 NUM수만큼 출력


-B NUM, --before-context=NUM : 패턴매칭라인 이전의 내용을 NUM수만큼 출력.


-C NUM, -NUM, --context=NUM : 출력물 앞뒤 전후의 주어진 라인만큼 출력(패턴매칭 라인은 포함하지 않고 기본 2라인)


-b, --byte-offset : 패턴매칭되기전 라인의 바이트수를 출력



egrep


egrep은 grep의 확장판으로서 grep가 하나의 문자열을  찾는 것 과는 달리, 여러개의 문자열을 동시에 찾을 수 있고, grep에서 활용할 수 있는 메타문자 이외에 추가 정규표현식 메타문자를 지원한다.


  (1)egrep에서 사용하는 정규표현식 메타문자


+  : + 앞의 정규표현식이 1회 이상 나타남 

? : ? 앞의 정규표현식이 0 또는 1회 나타남

|  : 문자열간의 OR연산자

() : 정규 표현식을 둘러 쌈



  (2)egrep 예제


 egrep 'NW|EA' datafile : (NW나 EA가 포함된 행을 출력한다. NW와 EA사이에 파이프( | ))

 egrep '3+' datafile : (숫자 3이 한 번 이상 등장하는 행을 출력한다.)

 egrep '2.?[0-9]' datafile : (숫자 2 다음에 마침표가 없거나 한 번 나오고, 다시 숫자가 오는 행을 출력한다.)

 egrep ' (no)+' datafile : (패턴 no가 한 번 이상 연속해서 나오는 행을 출력한다.)

 egrep 'S(h|u)' datafile : (문자 S 다음에 h나 u가 나오는 행을 출력한다.)

 egrep 'Sh|u' datafile  : (패턴 Sh나 u를 포함한 행을 출력한다.) 



5. fgrep


fgrep는 문자열로만 검색을 한다. 문자열 부분에 위치한 모든 문자를 "문자로써"취급한다. 즉, 정규표현식의 메타문자도 일반문자로 취급한다. fgrep은 문자열로만 검색하기 때문에 검색속도가 빠르다는 장점이 있다.




출처

http://geundi.tistory.com/113



'[IT] > 리눅스' 카테고리의 다른 글

[IT][Linux] mv와 rename 명령어  (0) 2013.04.04
[Linux][disk 사용량과 남은용량 확인]  (0) 2013.04.02
[Linux][grep 명령어 사용법]  (0) 2013.04.02
[IT][linux] wc 명령어  (0) 2013.03.27
[IT][linux] more 명령어  (0) 2013.03.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함