Home

Published

- 5 min read

IDE나 에디터에서 파일 전체 검색이 안 될 때, 터미널 명령어로 빠르게 해결하는 방법

img of IDE나 에디터에서 파일 전체 검색이 안 될 때, 터미널 명령어로 빠르게 해결하는 방법

서버 소스코드를 실시간으로 수정하거나 특정 함수를 찾아야 할 때, 사용 중인 툴에서 전체 검색 기능이 부족해 불편함을 겪는 경우가 많아요. 예를 들어, FTP로 서버와 연결된 편집기에서 현재 열린 파일만 검색이 가능하다면, 원하는 코드 위치를 찾기까지 시간이 오래 걸릴 수 있어요.

저는 이런 상황을 터미널 명령어 하나로 해결했어요. 아래에 그 방법을 공유할게요.


문제 상황: 툴에서 전체 검색 불가

  • FTP 연결 상태 또는 제한된 검색 기능
  • 현재 열려있는 파일 또는 제한된 영역만 검색 가능
  • 디렉토리 전체 또는 하위 폴더 포함 검색 불가능

이런 상황에서는 서버 내 특정 함수나 문자열의 위치를 찾는 게 정말 비효율적이에요.


해결 방법 1: grep 명령어 사용 (SSH 기반)

전체 검색 기능이 부족한 상황에서는, SSH로 서버에 접속한 후 grep 명령어를 사용해서 문제를 해결할 수 있어요.

grep -rn "TODO: 주말 잘 보내고 월요일에 여기서부터 시작" /var/www/html --include="*.php" --include="*.html"

이 명령어가 하는 일

  • /var/www/html 디렉토리 전체에서
  • .php, .html 확장자를 가진 파일만 대상으로
  • 주말 잘 보내고 월요일에 여기서부터 시작이라는 문자열이 포함된 줄을
  • 재귀적으로 탐색하면서
  • 파일경로 + 줄 번호까지 함께 출력해줘요

해결 방법 2: 한글 검색 문제 해결 (인코딩 문제 대응)

간혹 파일 인코딩 문제로 인해 한글 문자열이 제대로 검색되지 않는 경우도 있어요. 이럴 때는 다음과 같이 옵션을 추가해 보세요.

grep -rn --binary-files=text "한글검색어" /var/www/html --include="*.php"

이 명령어는 텍스트 파일 외에도 바이너리로 인식된 파일을 텍스트로 간주하고 검색해 줘서, 한글 인코딩 문제를 우회할 수 있어요.


명령어 상세 설명

옵션설명
-r하위 디렉토리까지 재귀적으로 검색해요
-n줄 번호도 같이 출력해줘요
--include="*.php"특정 확장자의 파일만 검색 대상으로 포함해요
--binary-files=text바이너리 파일도 텍스트로 간주하고 검색해요 (한글 인코딩 문제 대응)

환경 조건

  • SSH 접속이 가능해야 해요
  • 서버에 grep이 설치되어 있어야 해요 (대부분 기본으로 설치되어 있어요)
  • macOS, Linux, WSL 환경에서 모두 사용할 수 있어요

마무리

사용 중인 편집기의 전체 검색 기능이 부족할 때는, SSH로 접속해서 터미널에서 grep 명령어를 사용하는 게 훨씬 빠르고 정확한 해결 방법이 될 수 있어요.

특히 인코딩 문제로 인해 한글 검색이 안 되는 경우에는 --binary-files=text 옵션을 함께 사용하면 문제를 쉽게 해결할 수 있답니다.

위 명령어들을 참고해서 필요할 때마다 빠르게 함수나 문자열을 찾아보세요. 이 명령어를 몰랐다면 오늘 전 너무 힘든 하루였을 것 같아요.

Related Posts

There are no related posts yet. 😢