내용으로 파일 찾기 (파일 안의 텍스트 문자열 찾기)
파일 안의 텍스트 문자열을 찾는 표준적인 유틸리티는 정규표현식(regular expression)을 사용하는 경우에는 grep/egrep 이고 일반 문자열을 사용하는 경우에는 fgrep 이다. 현재 디렉토리에 있는 모든 파일에서 어떠한 표현을 찾을 때에는 아래와 같이 입력하면 된다.
하위 디렉토리의 모든 파일들에서 문자열을 찾는 경우에는 egrep 같은 것을 find 나 다른 검색 명령어와 함께 쓰면 된다. 여러 가지 방법으로 그렇게 할 수 있다.
만약에 기억하기가 힘들다면 here: grepfind.gz 에서 다운로드할 수 있는 간단한 쉘 스크립트를 사용해도 된다. 이 스크립트는 egrep 이 우연하게 바이너리 파일을 검사하게 되는 경우에 출력할 수 없는 문자를 제거하도록 하는 기능도 있다.
매우 흥미로운 검색 프로그램으로 agrep 이 있다. agrep 은 기본적으로 egrep 과 같이 동작하지만 오류에 관대한 검색(fault tolerant search)을 수행한다. 어떠한 표현을 찾으면서 최대 2개의 스펠링 오류를 허용하려면 아래와 같은 명령을 내리면 된다.
agrep 프로그램은 sunsiteftp://sunsite.unc.edu/pub/Linux/utils/text/agrep-2.04.tar.Z 로부터 다운로드받거나 오리지날 사이트인ftp://ftp.cs.arizona.edu/agrep/ 로부터 다운로드받을 수도 있다.
그리고 glimpse 라는 프로그램도 있다. glimpse 는 매우 강력한 검색 유틸리티이다. 그것은 locate 와 유사한 개념을 사용한다. 우선 데이터베이스를 구축해야 하지만 검색은 매우 빠르다. 현재 디렉토리로부터 시작하는 모든 파일의 검색 인덱스를 만들려면 아래와 같이 입력하면 된다.
이후로는 이전에 인덱스에 수록된 모든 파일 안의 문자열을 검색할 수 있다.
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 자동화 (0) | 2011.12.02 |
---|---|
rsync 백업 스크립트 (0) | 2011.11.24 |
xenserver 6 network reconfigure 네트웍 재설정 (0) | 2011.10.29 |
cadence IC5033 실행 화면 (0) | 2011.08.10 |
debian nfs 공유 및 받기 (0) | 2011.07.27 |