2025년 1월 31일 금요일

grep 명령어 간단 설명

1. 기본 검색 구문

grep "검색어" 파일명        # 기본 검색
grep -r "검색어" .         # 현재 디렉토리 하위 모든 파일 검색

2. 파일 타입 필터링

# 단일 확장자 검색
grep -r "검색어" --include="*.py" .

# 여러 확장자 검색
grep -r "검색어" --include="*.{js,jsx,ts,tsx}" .

# 특정 디렉토리 제외
grep -r "검색어" --include="*.py" --exclude-dir={node_modules,dist,build} .

3. 컨텍스트 표시

grep -C 3 "검색어" 파일명  # 매칭 기준 위아래 3줄
grep -B 3 "검색어" 파일명  # 매칭 기준 이전 3줄
grep -A 3 "검색어" 파일명  # 매칭 기준 이후 3줄

4. 매칭 옵션

grep -w "test" 파일명     # 정확한 단어 매칭
grep -i "Test" 파일명     # 대소문자 구분 없이
grep -v "제외어" 파일명    # 매칭되지 않는 라인 검색

5. 카운트 및 파일명

grep -c "검색어" 파일명    # 매칭된 라인 수 출력
grep -rc "검색어" .       # 파일별 매칭 라인 수
grep -l "검색어" *        # 매칭된 파일명만 표시
grep -L "검색어" *        # 매칭되지 않는 파일명 표시

6. 다중 패턴 검색

# OR 검색
grep -E "pattern1|pattern2" 파일명
egrep "pattern1|pattern2" 파일명

# AND 검색
grep "pattern1" 파일명 | grep "pattern2"

7. 정규식 검색

# 기본 정규식 패턴
grep -E "^[A-Z]{3}[0-9]{4}$" 파일명    # 대문자3자+숫자4자

# 이메일 주소 검색
grep -E "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}" 파일명

8. 출력 포맷팅

grep --color "검색어" 파일명           # 매칭 부분 색상 강조
grep --color=always "검색어" 파일명    # 항상 색상 강조
grep -n "검색어" 파일명               # 라인 번호 표시

9. 자주 사용되는 조합

# 개발 파일 검색 기본 세트
grep -rin --color "검색어" --include="*.{js,jsx,ts,tsx}" --exclude-dir={node_modules,dist} .

# 컨텍스트 포함 정확한 검색
grep -w -C 2 --color "검색어" 파일명

# 디버깅용 로그 검색
grep -A 5 -B 2 "error" --include="*.log" --color .

주요 옵션 정리:

  • -r: 재귀 검색
  • -i: 대소문자 구분 없음
  • -n: 줄 번호 표시
  • -w: 정확한 단어 매칭
  • -c: 매칭 수 카운트
  • -l: 파일명만 표시
  • -v: 매칭되지 않는 라인 검색
  • -E: 정규식 사용
  • -A: 매칭 후 라인 표시
  • -B: 매칭 전 라인 표시
  • -C: 매칭 전후 라인 표시

댓글 없음:

댓글 쓰기

Ubuntu에서 socks proxy 간단 사용

SSH를 이용한 SOCKS 프록시 설정 가장 간단한 방법은 SSH를 이용하여 SOCKS 프록시를 설정하는 것: ssh -D 1080 사용자명@원격서버주소 이 명령어는 로컬 포트 1080에 SOCKS 프록시 서버를 생성한다. 브라우저 설정 프...