IT2011. 11. 16. 17:27
반응형

내용으로 파일 찾기 (파일 안의 텍스트 문자열 찾기)

파일 안의 텍스트 문자열을 찾는 표준적인 유틸리티는 정규표현식(regular expression)을 사용하는 경우에는 grep/egrep 이고 일반 문자열을 사용하는 경우에는 fgrep 이다. 현재 디렉토리에 있는 모든 파일에서 어떠한 표현을 찾을 때에는 아래와 같이 입력하면 된다.

egrep -i "search expression" *

하위 디렉토리의 모든 파일들에서 문자열을 찾는 경우에는 egrep 같은 것을 find 나 다른 검색 명령어와 함께 쓰면 된다. 여러 가지 방법으로 그렇게 할 수 있다.

egrep -i "expression" `find . -type f -print`
find . -type f -exec egrep -i "expression" /dev/null {} \;
find . -type f -print | xargs egrep -i "expression"

만약에 기억하기가 힘들다면 here: grepfind.gz 에서 다운로드할 수 있는 간단한 쉘 스크립트를 사용해도 된다. 이 스크립트는 egrep 이 우연하게 바이너리 파일을 검사하게 되는 경우에 출력할 수 없는 문자를 제거하도록 하는 기능도 있다.

매우 흥미로운 검색 프로그램으로 agrep 이 있다. agrep 은 기본적으로 egrep 과 같이 동작하지만 오류에 관대한 검색(fault tolerant search)을 수행한다. 어떠한 표현을 찾으면서 최대 2개의 스펠링 오류를 허용하려면 아래와 같은 명령을 내리면 된다.

agrep -i -2 "search exprission" *

agrep 프로그램은 sunsiteftp://sunsite.unc.edu/pub/Linux/utils/text/agrep-2.04.tar.Z 로부터 다운로드받거나 오리지날 사이트인ftp://ftp.cs.arizona.edu/agrep/ 로부터 다운로드받을 수도 있다.

그리고 glimpse 라는 프로그램도 있다. glimpse 는 매우 강력한 검색 유틸리티이다. 그것은 locate 와 유사한 개념을 사용한다. 우선 데이터베이스를 구축해야 하지만 검색은 매우 빠르다. 현재 디렉토리로부터 시작하는 모든 파일의 검색 인덱스를 만들려면 아래와 같이 입력하면 된다.

glimpseindex .

이후로는 이전에 인덱스에 수록된 모든 파일 안의 문자열을 검색할 수 있다.

glimpse -i -2 "search exprission"

glimpse 는 agrep 과 마찬가지로 오류에 관대하며 -2 는 두 개의 오류까지 허용한다는 뜻이다. glimpse는http://glimpse.cs.arizona.edu/ 에서 구할 수 있다.


유닉스, 특히 리눅스에서는 매우 많은 검색 유틸리티를 사용할 수 있다. 이 문서는 물론 완벽할 수 없다. 만약에 이런 것과 비슷한 트릭과 유틸리티에 관심이 있다면http://sunsite.unc.edu/pub/Linux/utils 아래에 있는 .lsm 파일들을 살펴보라.



다필요 없고 아래  jemu 문자가 들어간 파일은 모두 찾아 준다
grep -e jemu /etc/ -R


 

반응형

'IT' 카테고리의 다른 글

원격지 로그 보기 expect 자동화  (2) 2011.12.02
rsync 백업 스크립트  (4) 2011.11.24
xenserver 6 network reconfigure 네트웍 재설정  (2) 2011.10.29
cadence IC5033 실행 화면  (2) 2011.08.10
debian nfs 공유 및 받기  (4) 2011.07.27
Posted by Dream Come True