--- title: ripgrep — 빠른 grep date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: grep을 대체하는 초고속 텍스트 검색. 기본적으로 .gitignore를 존중합니다. tags: 프로그램, 모던 CLI 도구, ripgrep --- **💬 "ripgrep 명령어"** ripgrep(rg)은 **grep을 대체하는 초고속 텍스트 검색 도구**입니다. 멀티스레드로 동작해 대용량 코드베이스에서도 순간적으로 검색합니다. 기본적으로 .gitignore를 존중하므로 node_modules 같은 디렉터리를 자동으로 건너뜁니다. - **개념**: 파일 내 텍스트 패턴을 초고속으로 검색합니다. - **grep 대체**: 같은 패턴 검색을 훨씬 빠르게 수행합니다. - **.gitignore 존중**: 무시 대상을 자동으로 제외합니다. - **멀티스레드**: CPU 코어를 활용해 검색 속도를 높입니다. ## 설치 및 다운로드 ripgrep은 패키지 매니저 또는 cargo로 설치합니다. | 환경 | 명령 | | --- | --- | | Ubuntu / Debian | sudo apt install ripgrep | | Fedora / RHEL | sudo dnf install ripgrep | | Arch | sudo pacman -S ripgrep | | macOS (brew) | brew install ripgrep | | Rust cargo | cargo install ripgrep | | 바이너리 다운로드 | github.com/BurntSushi/ripgrep/releases | 설치 확인은 `rg --version`으로 합니다. grep과 매우 유사한 명령 구조를 사용합니다. ## 자주 쓰는 옵션 | 옵션 | 설명 | | --- | --- | | -i | 대소문자를 무시합니다 | | -n | 줄 번호를 표시합니다 | | -w | 단어 단위로만 일치시킵니다 | | -t ext | 특정 확장자 파일만 검색합니다 | | --type-add | 사용자 정의 파일 타입을 추가합니다 | ## 필수 명령어 조합 3가지 - `rg -n "TODO" src/` — 소스에서 TODO 위치를 찾기 - `rg -i error /var/log/nginx` — 로그에서 오류 키워드 검색(대소문자 무시) - `rg -t py "import os"` — 파이썬 파일에서 import os 검색 **💬 "실제 서버에서 로그에서 오류를 찾는 예시를 보여줘"** 실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다. ### 1단계 · 설치 확인 설치 여부를 확인합니다. ``` rg --version || sudo apt install -y ripgrep ``` ### 2단계 · 코드에서 키워드 검색 소스 코드에서 특정 함수 호출을 찾습니다. ``` rg -n "handle_request" /var/www/html/src ``` ### 3단계 · 로그에서 오류 검색 로그 파일에서 에러 패턴을 찾습니다. ``` rg -i "error|fail" /var/log/nginx/error.log ``` ## 실제 실행 화면 소스 코드에서 함수 호출 위치를 ripgrep으로 검색한 결과입니다. 줄 번호와 함께 빠르게 나옵니다. ![ripgrep 명령어 실행 결과](https://games.cursorai.co.kr/assets/ripgrep-demo.png) 실제 운영 중인 서버 ## 실무에서는 이렇게 씁니다 ### 1. 설정에서 특정 값 찾기 **상황** — nginx 설정에서 timeout 값을 찾습니다. ``` rg -n "timeout" /etc/nginx/ ``` **결과** — timeout 관련 줄이 줄 번호와 함께 나옵니다. **포인트** — -n 옵션으로 바로 줄로 이동할 수 있습니다. ### 2. 의존성 확인 **상황** — 프로젝트에서 특정 라이브러리를 어디서 쓰는지 봅니다. ``` rg -t py "import requests" ``` **결과** — import requests가 있는 파일 목록이 나옵니다. **포인트** — -t 옵션으로 파일 타입을 필터링합니다. ## 실제 실행 화면 로그 파일에서 오류 패턴을 검색한 결과입니다. ![ripgrep 명령어 실행 결과 2](https://games.cursorai.co.kr/assets/ripgrep-demo2.png) 실제 운영 중인 서버 ## 주의할 점 - ripgrep은 기본적으로 숨김 파일과 .gitignore 대상을 제외합니다. include하려면 --hidden --no-ignore를 씁니다. - 바이너리 파일은 기본적으로 건너뜁니다. - grep의 -r 옵션 대신 기본적으로 재귀 검색을 합니다. - 대용량 단일 파일에서는 mmap을 사용하므로 메모리 사용량이 늘어날 수 있습니다.. --- 원문(HTML): https://games.cursorai.co.kr/programs/linux/modern/ripgrep.html