특정 폴더나 해당 폴더를 포함한 하위 폴더 전체를 검색해서 특정 문자열을 가진 파일과 그 위치를 찾아내는 것은 개발자뿐만 아니라 일반 사용자들에게 종종 발생하는 필요이다. 예를 들어 인기 있는 APM(Apache, PHP, MySQL) 패키지인 XAMPP에서 특정한 값을 조회하거나 설정하는 모든 파일을 찾고 싶은 경우이다. 소스 코드가 될 수도 있고 설정 파일일 수도 있지만 전체 파일을 뒤져서 해당 값을 가지고 있는 파일을 모두 찾고 각 파일 내 라인 위치를 알려준다면 너무도 작업이 쉬워질 것이다. 물론 검색 결과를 선택하면 바로 해당 파일을 조회나 편집할 수 있으면 금상첨화일 것이다. 바로 이런 기능을 수행할 수 있는 것이 노트패드++의 "파일에서 찾기" 기능이다. 물론 이런 기능을 전문적으로 수행하는..
우리가 구글이나 네이버 검색창에 단어나 문장을 입력하여 검색하면 각 포털의 검색 엔진은 입력한 텍스트를 포함하고 있는 자료들을 뒤져서 입력한 문장에 가장 근접한 자료들을 결과로 내놓습니다. 그렇지만, 검색이란 기본적으로는 텍스트를 찾는 것이기 때문에 이미지 속에 있는 글자를 검색하기에는 한계가 있습니다(일부에서 OCR 기술을 이용해서 검색에 활용하는 기술이 적용되고는 있습니다). 또한, 파일이 프로그램 제작사의 입맛에 따라 별도의 형식으로 저장되어 순수 텍스트 형태가 아닌 이진 파일 형태라면 검색은 더욱 어려워 집니다. 포털 검색을 사례로 든것은 검색이라는 것이 텍스트 기반이라는 전제를 설명하기 위한 것이고, 텍스트 검색 과정에서 텍스트 중간 중간에 특수 문자가 끼어 있는 이진 파일(PDF문서등) 문제와..
리눅스나 유닉스 환경에서 개발해본 경험이 있는 개발자라면 grep 툴을 vim, ctags와 같은 도구와 더불어 개발자에게는 없어서는 안될 필수 도구로 뽑는데 대부분 이의가 없을 것입니다. grep은 특정 텍스트 스트링이나 텍스트 조합 형태(정규식 적용 스트링)를 포함하고 있는 파일을 검색하기 위한 도구로 예를들어, 소스 코드에서 #define으로 시작하는 모든 행을 추출 한다거나,function function_name( ) 형태로 기술되어진 모든 함수 정의 문장을 추출한다거나,변수명 aaa를 사용하는 모든 소스 코드명을 추출하는 등의 용도에 grep 도구를 사용할 수 있습니다. 그런데, 윈도우 환경에서 grep을 사용하려면 윈도우 환경에서 리눅스 콘솔 명령을 그대로 사용할 수 있도록 해주는 cygwi..