Ubuntu Linux grep egrep 명령어 사용법


리눅스 계열에서 문자열을 검색하는 유용한 방법중 하나가 grep 명령어 입니다. egrep 은 grep 의 확장판 이라고 할 수 있습니다. 유사한 명령어로 fgrep 도 있습니다.


grep 의 기본 문법을 보면


grep [옵션] 문자열 [파일명 또는 폴더명]

grep [Option] Pattern [File...]


$ grep STRING place

place 에서 STRING 을 찾습니다.


$ grep STRING p*

p 로 시작하는 모든 파일에서 STRING 을 찾습니다.


STRING 은 정규식의 사용이 가능합니다.


$ grep [0-9]{6} datafile1 datafile2

datafile1 과 datafile2 에서 6자리 숫자가 연속적으로 사용된 행을 찾습니다.


으로 사용 가능합니다.


grep 에서 주로 사용되는 옵션은 다음과 같습니다.


n : 행번호를 출력

i : 대소문자를 구별하지 않음

v : 문자열이 포함되지 않은 열을 출력

l : 문자열이 있으면 파일명을 출력

w : 문자열이 정확히 일치하는 열을 출력

"" : 따옴표 안의 문자중 환경변수가 있으면 환경변수를 사용한다.

E : 확장 정규표현을 사용하게 해준다. (결과적으로 egrep 명령과 동일하게 처리함)

r : 하위 폴더를 검색

R : 하위 폴더를 검색


egrep 은 정규표현식에서 확장표현을 사용할 수 있게 해줍니다.


확장 표현이란 + ? | () 와 같은 표현입니다.


+ : + 앞의 문자가 한번이상 있는 행

a 가 한번이상 나오는 행 출력

$ egrep 'a+' datafile


? : ? 앞의 문자가 한번나오거나 없을 경우


| : or 연산을 하게 해줍니다.

$ egrep 'She|He' datafile

She 또는He 가 나오는 행을 출력


() : + 나 | 등과 조합하여 문자열을 사용하도록 합니다.

$ egrep '(hi)+' datafile

hi 라는 문자열이 한번이상 나오는 행을 출력


fgrep 은 정규표현식을 무시하고 search 를 합니다.


이상 grep, egrep, fgrep 에 대해 알아 보았습니다.





Posted by 인포개더러
,