English

ripgrep — 빠른 grep

Linux / 모던 CLI 도구 / ripgrep.html

모던 CLI 도구원문등록 2026-10-18T22:00:00+09:00

💬 "ripgrep 명령어"

ripgrep(rg)은 grep을 대체하는 초고속 텍스트 검색 도구입니다. 멀티스레드로 동작해 대용량 코드베이스에서도 순간적으로 검색합니다.

기본적으로 .gitignore를 존중하므로 node_modules 같은 디렉터리를 자동으로 건너뜁니다.

  • 개념: 파일 내 텍스트 패턴을 초고속으로 검색합니다.
  • grep 대체: 같은 패턴 검색을 훨씬 빠르게 수행합니다.
  • .gitignore 존중: 무시 대상을 자동으로 제외합니다.
  • 멀티스레드: CPU 코어를 활용해 검색 속도를 높입니다.

설치 및 다운로드

ripgrep은 패키지 매니저 또는 cargo로 설치합니다.

환경명령
Ubuntu / Debiansudo apt install ripgrep
Fedora / RHELsudo dnf install ripgrep
Archsudo pacman -S ripgrep
macOS (brew)brew install ripgrep
Rust cargocargo 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 명령어 실행 결과

실제 운영 중인 서버

실무에서는 이렇게 씁니다

1. 설정에서 특정 값 찾기

상황 — nginx 설정에서 timeout 값을 찾습니다.

rg -n "timeout" /etc/nginx/

결과 — timeout 관련 줄이 줄 번호와 함께 나옵니다.

포인트 — -n 옵션으로 바로 줄로 이동할 수 있습니다.

2. 의존성 확인

상황 — 프로젝트에서 특정 라이브러리를 어디서 쓰는지 봅니다.

rg -t py "import requests"

결과 — import requests가 있는 파일 목록이 나옵니다.

포인트 — -t 옵션으로 파일 타입을 필터링합니다.

실제 실행 화면

로그 파일에서 오류 패턴을 검색한 결과입니다.

ripgrep 명령어 실행 결과 2

실제 운영 중인 서버

주의할 점

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