반응형
부제: .gitignore를 존중하며 디렉터리를 통째로 훑는 초고속 grep
rg TODO src # src 아래에서 TODO 문자열 재귀 검색
rg -n --type py "def " # 파이썬 파일만 골라 줄번호와 함께
rg -c POST logs/ # 매칭 개수만 파일별로 집계
$ rg --version
ripgrep 14.1.1
features:+pcre2
PCRE2 10.43 is available (JIT is available)
$ rg TODO src
src/utils/helpers.py:# TODO: handle negative numbers
src/app.py: # TODO: add retry logic
$ rg -n --type py "def " src
src/utils/helpers.py:1:def format_bytes(n):
src/app.py:3:def connect_db(host, port):
src/app.py:7:def main():ripgrep은 디렉터리를 재귀로 훑으며 정규식을 검색하는 도구다. 별도 경로를 주지 않아도 현재 폴더 전체를 뒤지고, .gitignore에 걸린 파일과 바이너리를 자동으로 건너뛴다. grep -rn을 매번 손으로 조합하던 수고가 사라지고, 병렬 처리와 Rust 정규식 엔진 덕에 속도도 크게 앞선다. --type py처럼 언어 단위로 대상을 좁히는 기능도 grep에는 없다. 데비안은 apt install ripgrep, RHEL 계열은 EPEL을 켜고 dnf install ripgrep으로 설치한다.
이렇게도 쓴다
대소문자를 무시하고 검색한다.
rg -i error logs/
매칭된 파일 이름만 나열한다.
rg -l TODO
매칭 줄의 앞뒤 문맥을 함께 본다.
rg -A2 -B1 login logs/access.log
TODO가 든 파이썬 파일만 골라 줄 수를 센다. (rg + xargs 조합)
rg -l --type py TODO | xargs wc -l
PCRE2 정규식으로 뒤돌아보기 같은 고급 패턴을 쓴다.
rg -P '(?<=port=)\d+' config.json
매칭된 부분 문자열만 뽑아낸다.
rg -o 'HTTP/\d\.\d' access.log반응형
'명령어 > Linux' 카테고리의 다른 글
| [리눅스] bat 문법 강조가 되는 cat (0) | 2026.07.16 |
|---|---|
| [리눅스] fd 사람이 쓰기 편한 find 대체 (0) | 2026.07.16 |
| [RHEL] xfs_repair XFS 손상 검사·복구 (0) | 2026.07.16 |
| [RHEL] xfs_growfs XFS 온라인 확장 (0) | 2026.07.16 |
| [RHEL] xfs_info XFS 지오메트리 확인 (0) | 2026.07.16 |