수많은 텍스트 파일 속에서 특정 문구를 찾아야 했던 적이 있으신가요? IT 업계에서 일하다 보면 이런 상황이 생각보다 자주 발생합니다. 로그 파일에서 특정 에러 메시지를 찾거나, 개발자라면 여러 코드 파일에 흩어져 있는 함수나 변수를 찾아야 할 때가 대표적입니다.
안타깝게도 윈도우 기본 검색은 이런 작업에 적합하지 않습니다. 속도가 매우 느리고 정규식 같은 고급 검색 기능을 지원하지 않기 때문입니다. 다행히 윈도우 기본 검색보다 훨씬 강력한 대안들이 여럿 존재합니다. 이 글에서는 각 솔루션을 간단히 소개하니, 더 자세한 정보는 검색을 통해 확인해 보시기 바랍니다.
서드파티 프로그램 설치를 원하지 않고 명령줄 사용이 익숙하다면 아래의 '윈도우 기본 명령어' 섹션을 바로 확인하세요. 대부분의 사용자가 GUI 환경을 선호한다고 판단하여 프로그램을 먼저 소개합니다.
서드파티 검색 프로그램
여러 텍스트 파일을 검색하는 분야에서 원조 격인 도구는 단연 grep입니다. grep은 UNIX/Linux의 명령줄 유틸리티로, 정규식을 활용한 고급 검색을 지원하며 사실상 모든 리눅스 배포판에 기본 탑재되어 있을 만큼 널리 쓰입니다.
그래서 누군가 윈도우용 검색 프로그램을 만들면 프로그램 이름에 'grep'이 붙는 경우가 많습니다. 아래 소개하는 프로그램들 역시 마찬가지입니다.
grepWin

grepWin은 이 글에서 소개하는 도구 중 가장 인기 있는 프로그램입니다. 정규식 검색은 물론 찾아 바꾸기 기능까지 지원합니다. 공식 웹사이트에 정규식 관련 튜토리얼도 제공되며, 구글에서 더 다양한 자료를 찾아볼 수 있습니다.
파일 크기, 파일 형식 등 다양한 조건으로 검색 범위를 좁힐 수 있고, 탐색기 우클릭 컨텍스트 메뉴에 검색 옵션을 추가해 폴더를 빠르게 검색할 수 있습니다. 검색 결과는 하단 창에 목록으로 표시되며, 항목을 더블클릭하면 해당 파일이 바로 열립니다.
AstroGrep

AstroGrep 역시 훌륭한 검색 프로그램입니다. 꾸준히 업데이트될 뿐만 아니라, 텍스트가 파일 내 어느 위치에서 발견되었는지 함께 보여 줍니다. grepWin도 Content 옵션을 선택하면 유사한 기능을 사용할 수 있지만, AstroGrep 쪽이 구현이 더 깔끔하다는 평가를 받습니다.
또한 AstroGrep은 Word 문서 검색을 지원하는데, 이는 상당히 유용한 기능입니다. 검색 결과 전체를 저장하거나 인쇄해 두었다가 나중에 참고할 수도 있습니다. 인터페이스도 비교적 모던하고 보기 편한 편입니다.
BareGrep

BareGrep은 비교적 단순한 검색 프로그램으로, 정규식과 기본적인 검색 기능들을 폭넓게 지원합니다. 전반적으로 속도가 빠르고 검색 결과를 표 형태로 깔끔하게 보여 줍니다. 무료 버전에는 종료할 수 없는 스플래시 화면이 포함되어 있습니다. 프로 버전은 25달러인데, 스플래시 화면 제거 외에는 기능 차이가 거의 없습니다.
PowerGREP

최강의 검색 프로그램을 찾고 있다면 PowerGREP만 한 것이 없습니다. 강력한 기능만큼 가격도 부담스러운데, 무려 159달러입니다. 앞서 언급한 프로그램들의 기능을 모두 갖추고 추가 기능까지 제공하며, 세련된 인터페이스에 잘 정리되어 있습니다.
Word 문서, PDF, Excel 스프레드시트 등 다양한 형식의 파일에서 텍스트를 찾는 등 전문적인 검색 수요가 있다면 추천할 만합니다. 로그 파일에서 통계 데이터를 추출해 분석 정보로 제공하는 기능도 있을 정도로 매우 강력한 도구입니다.
윈도우 기본 명령어 활용하기
간단한 검색만 필요하고 별도 프로그램 설치를 원하지 않는다면, 윈도우에 내장된 명령줄 도구를 활용할 수 있습니다. 하나는 일반 명령 프롬프트(cmd)에서 실행되고, 다른 하나는 PowerShell에서 사용합니다. 두 방법 모두 강력해서 거의 모든 검색 작업을 처리할 수 있습니다.

첫 번째는 findstr 명령입니다. 마이크로소프트의 공식 참조 문서를 읽으면 사용법을 익힐 수 있고, 명령 프롬프트에 findstr /?를 입력하면 사용 가능한 옵션 목록이 표시됩니다. 옵션이 상당히 많아 위에서 소개한 GUI 프로그램보다 진입 장벽이 높은 편입니다.
두 번째는 Windows PowerShell의 Select-String 명령입니다. 이 역시 처음 접하는 사용자에게는 학습 곡선이 존재합니다. 마이크로소프트에서 Select-String 사용법에 대한 좋은 튜토리얼을 제공하니 참고하시기 바랍니다.

지금까지 대량의 파일에서 텍스트를 검색하는 가장 효과적인 방법들을 살펴보았습니다. GUI 프로그램과 명령줄 도구를 직접 사용해 보고, 자신의 작업 방식에 가장 잘 맞는 도구를 선택하시기 바랍니다.