ripgrep — 빠른 grep
Linux / 모던 CLI 도구 / ripgrep.html
💬 "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으로 검색한 결과입니다. 줄 번호와 함께 빠르게 나옵니다.

실제 운영 중인 서버
실무에서는 이렇게 씁니다
1. 설정에서 특정 값 찾기
상황 — nginx 설정에서 timeout 값을 찾습니다.
rg -n "timeout" /etc/nginx/
결과 — timeout 관련 줄이 줄 번호와 함께 나옵니다.
포인트 — -n 옵션으로 바로 줄로 이동할 수 있습니다.
2. 의존성 확인
상황 — 프로젝트에서 특정 라이브러리를 어디서 쓰는지 봅니다.
rg -t py "import requests"
결과 — import requests가 있는 파일 목록이 나옵니다.
포인트 — -t 옵션으로 파일 타입을 필터링합니다.
실제 실행 화면
로그 파일에서 오류 패턴을 검색한 결과입니다.

실제 운영 중인 서버
주의할 점
- ripgrep은 기본적으로 숨김 파일과 .gitignore 대상을 제외합니다. include하려면 --hidden --no-ignore를 씁니다.
- 바이너리 파일은 기본적으로 건너뜁니다.
- grep의 -r 옵션 대신 기본적으로 재귀 검색을 합니다.
- 대용량 단일 파일에서는 mmap을 사용하므로 메모리 사용량이 늘어날 수 있습니다..