rg pattern | 현재 디렉토리 검색 |
rg pattern path/ | 특정 경로 검색 |
rg pattern file.txt | 파일 내 검색 |
rg "multi word" | 구문 검색 |
rg -i pattern | 대소문자 무시 |
rg -w pattern | 전체 단어 일치 |
rg -x pattern | 전체 줄 일치 |
rg -n pattern | 줄 번호 표시 (기본) |
rg -N pattern | 줄 번호 숨기기 |
rg -l pattern | 파일명만 표시 |
rg -c pattern | 파일당 일치 수 |
rg --count-matches pattern | 모든 일치 수 |
rg -o pattern | 일치 텍스트만 표시 |
rg -v pattern | 일치 반전 |
rg -C 3 pattern | 전후 3줄 |
rg -B 2 pattern | 이전 2줄 |
rg -A 2 pattern | 이후 2줄 |
rg --context-separator="---" -C 2 pattern | 커스텀 구분자 |
rg -t py pattern | Python 파일 검색 |
rg -t js -t ts pattern | 여러 파일 타입 |
rg -T py pattern | Python 파일 제외 |
rg --type-list | 파일 타입 목록 |
rg --type-add "web:*.{html,css,js}" -t web pattern | 커스텀 타입 |
rg -g "*.js" pattern | Glob 포함 |
rg -g "!*.min.js" pattern | Glob 제외 |
rg -g "src/**/*.ts" pattern | 재귀 glob |
rg -g "!node_modules" pattern | 디렉토리 제외 |
rg --hidden pattern | 숨김 파일 포함 |
rg --no-ignore pattern | .gitignore 무시 |
rg -u pattern | 무제한 (--no-ignore) |
rg -uu pattern | 더 무제한 (+숨김) |
rg -uuu pattern | 모든 파일 (바이너리 포함) |
rg --max-depth 2 pattern | 디렉토리 깊이 제한 |
rg -L pattern | 심볼릭 링크 따라가기 |
rg "\bword\b" | 단어 경계 |
rg "^start" | 줄 시작 |
rg "end$" | 줄 끝 |
rg "a.*b" | 사이의 모든 문자 |
rg "a.+b" | 하나 이상 사이 |
rg "colou?r" | 선택적 문자 |
rg "[aeiou]" | 문자 클래스 |
rg "[0-9]+" | 하나 이상의 숫자 |
rg "(foo|bar)" | 대안 |
rg -F "literal." | 고정 문자열 (정규식 아님) |
rg -P "(?<=foo)bar" | PCRE2 정규식 |
rg -U "foo\nbar" | 여러 줄 검색 |
rg -s pattern | 대소문자 구분 (스마트) |
rg -S pattern | 스마트 케이스 |
rg -r "replacement" pattern | 일치 항목 바꾸기 |
rg -r "$1" "(\w+)" | 캡처 그룹 |
rg -r "${1}_${2}" "(\w+)-(\w+)" | 여러 캡처 |
rg --passthru -r "new" "old" | 바꾸기로 모든 줄 표시 |
rg --color=always pattern | less -R | less로 색상 |
rg --no-heading pattern | 파일 제목 없음 |
rg --heading pattern | 파일별 그룹 |
rg --vimgrep pattern | Vim 호환 출력 |
rg --json pattern | JSON 출력 |
rg --stats pattern | 통계 표시 |
rg --sort path pattern | 경로로 정렬 |
rg --sort modified pattern | 수정 시간으로 정렬 |
rg --sort accessed pattern | 접근 시간으로 정렬 |
rg --sort created pattern | 생성 시간으로 정렬 |
rg --sortr path pattern | 역순 정렬 |
# ~/.ripgreprc
# Set with RIPGREP_CONFIG_PATH
# Smart case by default
--smart-case
# Include hidden files
--hidden
# Exclude directories
--glob=!.git
--glob=!node_modules
--glob=!vendor
--glob=!*.min.js
# Max columns for long lines
--max-columns=200
# Show context
--context=2
# Custom type
--type-add=web:*.{html,css,js,ts} # .rgignore or .ignore
# Same syntax as .gitignore
node_modules/
dist/
build/
*.log
*.min.js
.env
*.pyc
__pycache__/ rg -t py "import" | wc -l | Python import 수 |
rg -l TODO | xargs code | TODO 파일 VS Code로 열기 |
rg -t js "console.log" -l | console.log 있는 파일 |
rg -t py "def " -c | sort -t: -k2 -rn | 함수 수로 파일 정렬 |
rg "TODO|FIXME|HACK" --stats | 코드 주석 찾기 |
rg -e "pattern1" -e "pattern2" | 여러 패턴 (OR) |
rg "func" | rg "error" | 여러 패턴 (AND) |
rg "\b(var|let)\b" -t js | JS에서 var/let 찾기 |