본문 바로가기

grep 명령은 텍스트 파일이나 출력에서 특정 문자열을 검색할 때 사용됩니다. 다양한 옵션과 조합으로 강력하고 유연하게 문자열을 찾을 수 있습니다. 아래에 주요 사용법과 옵션들을 소개합니다.


1. 기본 사용법

특정 문자열 검색

grep "검색할_문자열" 파일명
  • 예: file.txt에서 error를 검색
    grep "error" file.txt

2. 주요 옵션

(1) 대소문자 무시 (-i)

grep -i "검색할_문자열" 파일명
  • 대소문자를 구분하지 않고 검색.
  • 예: Error, ERROR, error 모두 검색.

(2) 라인 번호 출력 (-n)

grep -n "검색할_문자열" 파일명
  • 검색된 문자열이 포함된 라인의 번호를 출력.
  • 예:
    grep -n "error" file.txt
    출력:
    12:error found
    35:critical error

(3) 여러 파일 검색 (-H)

grep -H "검색할_문자열" 파일1 파일2
  • 검색 결과에 파일 이름 표시.
  • 예:
    grep -H "error" file1.txt file2.txt
    출력:
    file1.txt:line with error
    file2.txt:another error here

(4) 하위 디렉토리까지 검색 (-r 또는 -R)

grep -r "검색할_문자열" 디렉토리
  • 지정된 디렉토리 내부의 모든 파일에서 검색.
  • 예: 현재 디렉토리와 하위 디렉토리에서 TODO 검색
    grep -r "TODO" .

(5) 정규 표현식 사용 (-E)

grep -E "패턴1|패턴2" 파일명
  • 여러 패턴을 검색하거나 복잡한 정규 표현식 사용.
  • 예: error 또는 warning 검색
    grep -E "error|warning" file.txt

(6) 문자열이 포함되지 않은 줄 찾기 (-v)

grep -v "검색할_문자열" 파일명
  • 검색 문자열이 포함되지 않은 줄을 출력.
  • 예: error가 없는 줄 찾기
    grep -v "error" file.txt

(7) 단어 단위로 검색 (-w)

grep -w "검색할_단어" 파일명
  • 정확히 해당 단어가 포함된 줄만 출력.
  • 예: error가 단어로만 존재하는 경우 검색.
    grep -w "error" file.txt

(8) 검색 결과 색상 강조 (--color)

grep --color=always "검색할_문자열" 파일명
  • 검색된 문자열을 색상으로 강조(기본적으로 활성화).

3. 검색 결과를 파이프로 전달

명령어 출력에서 검색

command | grep "검색할_문자열"
  • 예: dmesg 명령 출력에서 USB 관련 메시지 검색
    dmesg | grep "USB"

4. 특정 패턴 검색

(1) 파일에서 시작하는 줄 검색 (^)

grep "^패턴" 파일명
  • 예: error로 시작하는 줄 찾기
    grep "^error" file.txt

(2) 파일에서 끝나는 줄 검색 ($)

grep "패턴$" 파일명
  • 예: end로 끝나는 줄 찾기
    grep "end$" file.txt

(3) 특정 문자열 포함 파일만 찾기 (-l)

grep -l "검색할_문자열" 파일1 파일2
  • 예: 특정 디렉토리에서 error가 포함된 파일 찾기
    grep -l "error" *.txt

(4) 특정 파일 제외 (--exclude)

grep --exclude="*.log" "검색할_문자열" 디렉토리
  • 예: .log 파일 제외하고 검색.

5. 실용적인 조합

(1) 특정 파일 형식에서 검색

grep "검색할_문자열" *.txt

(2) 하위 디렉토리에서 특정 파일 형식 검색

grep -r --include="*.log" "검색할_문자열" .

(3) 특정 조건에서 줄 번호와 함께 검색

grep -n -w "검색할_문자열" 파일명

6. 결과 출력 제한

검색 결과 상위 몇 줄만 출력 (-m):

grep -m 5 "검색할_문자열" 파일명
  • 처음 5개의 결과만 표시.

7. 정리

  • grep은 단순한 문자열 검색부터 복잡한 패턴 매칭까지 다양한 기능을 제공.
  • 주요 옵션: -i (대소문자 무시), -n (줄 번호), -v (포함하지 않는 줄), -r (재귀 검색), -E (정규 표현식).
  • 결과를 파이프로 다른 명령어와 연결하거나, 특정 파일/디렉토리에만 적용할 수 있음.

필요한 검색 방식에 따라 위 옵션들을 조합하면 효과적으로 텍스트 검색을 수행할 수 있습니다.

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.