티스토리 뷰



특정 폴더나 해당 폴더를 포함한 하위 폴더 전체를 검색해서 특정 문자열을 가진 파일과 그 위치를 찾아내는 것은 개발자뿐만 아니라 일반 사용자들에게 종종 발생하는 필요이다. 예를 들어 인기 있는 APM(Apache, PHP, MySQL) 패키지인 XAMPP에서 특정한 값을 조회하거나 설정하는 모든 파일을 찾고 싶은 경우이다. 소스 코드가 될 수도 있고 설정 파일일 수도 있지만 전체 파일을 뒤져서 해당 값을 가지고 있는 파일을 모두 찾고 각 파일 내 라인 위치를 알려준다면 너무도 작업이 쉬워질 것이다. 물론 검색 결과를 선택하면 바로 해당 파일을 조회나 편집할 수 있으면 금상첨화일 것이다. 바로 이런 기능을 수행할 수 있는 것이 노트패드++의 "파일에서 찾기" 기능이다.

 

물론 이런 기능을 전문적으로 수행하는 대표적인 도구가 있기는 하다. grep 도구로 윈도에서는 dngrep("윈도우에서 텍스트 검색 및 치환 도구 grep 이용하기(dnGREP)" 참조)을 사용할 수 있다. dngrep도 좋기는 한데 성능이 떨어지는 필자의 컴퓨터에서는 시스템 자원을 잡아먹는 흠이 있다. 그래서, 시스템 용량을 덜 차지하면서도 grep 도구의 유익을 누릴 수 있는 방법이 없을까? 찾아보다가 가까운 곳에 그 답이 있는 것을 발견한 것이다. 평소 애용하는 노트패드++(NPP)에 훌륭한 기능이 있었다.("노트패드++ 한글 사용 환경 준비하기" 참조) 

 

사용 방법은 간단하다. Ctrl+Shift+F 단축키를 사용하거나, 메뉴>찾기>파일에서 찾기를 선택하여 검색창을 열 수 있다. 검색창이 열리면 찾을 내용에 검색 문자열을 입력하면 되는데 grep 도구처럼 정규식도 사용할 수 있다. 정규식에 한번 맛 들이면 정말 훌륭한 마법과도 같은 도구를 소유하게 된다. 검색 문자열을 입력했으면 디렉터리 항목의 [...] 버튼을 클릭해서 검색할 폴더를 선택한다. 이때 "모든 하위 폴더 포함"을 선택하면 선택한 폴더로 시작하여 포함된 모든 하위 폴더도 검색한다. 필터는 검색 대상을 좁혀서 검색 속도를 높일 때 사용할 수 있다. 통상 바이너리 파일은 문자열 검색에 거의 의미가 없는 경우가 많은데 이런 것처럼 불필요한 파일들을 제외하고 특정 파일들만 검색하도록 하는 것이다. 위의 예제에서는 확장자가 *. c인 C 소스 파일들만 검색하도록 제한한 것이다.

 

[모두 찾기]를 클릭해서 검색을 시작하면 위의 그림과 같은 검색 진행창을 확인할 수 있다.

 

검색이 끝나면 화면 하단을 통해서 위와 같은 검색 결과를 확인할 수 있다. 찾아진 파일과 파일 내 검색 문자열의 라인 위치까지 표시해 준다. 좌측에 있는 [+][-] 버튼을 통해서 파일 단위의 결과를 열거나 접을 수 있습니다. 노트패드 ++의 "파일에서 찾기"의 장점은 앞선 검색 결과가 없어지지 않고 남아 있어서 잦은 검색으로 인한 불편을 줄여 준다는 점과 함께 검색된 라인을 더블클릭하면 해당 파일의 라인 위치로 이동해서 바로 편집할 수 있다는 것이다. NPP는 사용하면 할수록 매력적이다.

 


댓글
댓글쓰기 폼