COMPUTING

[리눅스] grep 명령어 (파일 내용 검색)

Exeter 2014. 12. 31. 16:42
반응형


리눅스에서는 파일(텍스트 및 바이너리)에 담긴 내용을 검색할 수 있는 강력한 기능이 기본으로 제공됩니다.
검색 
결과로 검색하고자 하는 단어가 포함된 해당 라인의 내용이 출력됩니다.


Grep 명령어 기본 형태

grep [찾고자 하는 명칭] [위치]



Grep 명령어 예제

grep SampleText *

; 현재 디렉토리의 모든 파일에서 'SampleText' 검색


grep SampleText /usr/tmp

; /usr/tmp 디렉토리에서 'SampleText' 검색


grep -r SampleText /usr/tmp

; 위와 동일하나 -r 옵션은 이하 디렉토리 모두를 포함하여 검색 (/usr/tmp 를 포함한 이하 디렉토리 모두 검색)


grep -l SampleText /usr/tmp

; (소문자 L) 파일명 목록으로 출력 


grep -I SampleText /usr/tmp

; (대문자 I) 바이너리 파일은 제외하고 검색


grep -i SampleText *

; (소문자 i) 검색하고자 하는 단어의 대소문자 구분 안함 (검색어로 대소문자 구분하여 입력해도 무시됨)


grep -E "Text|Sample"

; OR 검색 ( 즉, Text와 Sample 둘 중 하나의 단어라도 포함이 되면 출력 됨)



Grep 옵션 혼용 예제

grep 명령어에 다수개의 옵션을 지정할 때는 마이너스 기호(-) 뒤에 연속으로 옵션을 기입합니다.

grep -ri sampletext /usr/tmp

; /usr/tmp 이하의 모든 디렉토리에서 'sampletext' 용어를 대소문자 구분하지 않고 검색



Grep 명령어 활용 예제

ps -ef | grep XXX

; 모든 프로세스의 리스트를 출력하는데, 이때 XXX 라는 문자열이 포함된 것만 출력 함




Windows 시스템의 경우 파일 내용까지 검색해주는 콘솔모드 명령어는 없는 것으로 알고 있습니다. 물론 Windows search 기능이 제공되므로 Windows 7 이상의 경우에는 탐색기를 사용하면 파일 내용까지 검색이 가능합니다. (http://windows.microsoft.com/ko-kr/windows7/products/features/windows-search) 


Windows XP의 경우 해당 기능이 활성화 되었는지 확인 할 필요가 있습니다. Windows search기능은 백그라운드에서 작업되어 상당히 리소스를 많이 소모하는 작업으로 PC를 느리게 하는 경우도 있으므로 구형 PC의 경우에는 Windows Search기능은 비활성화 하는 것이 속도 향상에 좋을 수 있습니다. 



반응형