카테고리 없음

[리눅스 명령어] grep 기초부터 옵션까지 한 번에 정리

하고집 2026. 1. 19. 10:27
반응형

1. grep 이란?

grep은 파일 안에서 특정 문자열(패턴)을 검색하는 명령어다.
로그 파일에서 에러를 찾거나, 설정 파일에서 특정 설정값을 확인할 때 가장 많이 사용된다.

앞에서 정리한 상대경로·절대경로 개념이 바로 이 grep부터 체감되기 시작한다.
어느 파일을 대상으로 검색하느냐에 따라 결과가 완전히 달라지기 때문이다.


2. 기본 사용 방법

 
grep [옵션] "검색어" [파일 또는 경로]

2.1 파일에서 문자열 검색

 
grep "error" app.log

app.log 파일에서 error가 포함된 모든 줄을 출력한다.


2.2 여러 파일에서 검색

 
grep "error" *.log

현재 디렉터리의 모든 .log 파일에서 error를 검색한다.


3. 자주 사용하는 옵션 정리

3.1 -n : 줄 번호 출력 (가장 많이 사용)

 
grep -n "error" app.log

검색된 문자열이 몇 번째 줄에 있는지 함께 출력한다.
로그 분석 시 거의 필수 옵션이다.


3.2 -i : 대소문자 구분 없이 검색

 
grep -i "error" app.log

error, ERROR, Error 등을 모두 검색한다.


3.3 -v : 패턴을 제외한 줄 출력 (반대 조건)

 
grep -v "debug" app.log

debug가 포함되지 않은 줄만 출력한다.
불필요한 로그를 제외할 때 자주 사용된다.


3.4 -r / -R : 디렉터리 재귀 검색

 
grep -r "password" /etc

지정한 디렉터리 아래 모든 파일을 대상으로 검색한다.

❗ 권한 문제나 파일 수가 많으면 시간이 오래 걸릴 수 있다.


3.5 -l : 파일 이름만 출력

 
grep -l "error" *.log

검색어가 포함된 파일 이름만 출력한다.
“어떤 파일에 들어 있는지”만 알고 싶을 때 사용한다.


3.6 -c : 매칭된 줄 개수 출력

 
grep -c "error" app.log

해당 파일에 error가 몇 줄 있는지 숫자만 출력한다.


3.7 -w : 단어 단위로 정확히 검색

 
grep -w "error" app.log

error_code, error123 같은 단어는 제외하고
error라는 단어만 정확히 검색한다.


4. 옵션 조합 예제 (이건 꼭!)

4.1 로그 분석 기본 조합 (실무 최다)

 
grep -in "error" app.log
  • 대소문자 무시
  • 줄 번호 출력

👉 로그 분석할 때 사실상 기본 세트


4.2 디렉터리 전체에서 에러 검색

 
grep -rin "error" /var/log
  • 여러 로그 파일 한 번에 검색
  • 운영 서버에서 매우 자주 사용

4.3 불필요한 로그 제외하고 보기

 
grep -v "debug" app.log

4.4 어떤 파일에 들어 있는지만 확인

 
grep -rl "error" .

5. 파이프(|)와 함께 쓰는 grep (중요)

grep은 단독으로도 많이 쓰지만,
다른 명령어 결과를 필터링하는 용도로 더 많이 사용된다.

5.1 ps + grep

 
ps -ef | grep nginx

실행 중인 프로세스 중 nginx가 포함된 것만 출력


5.2 ls + grep

 
ls | grep ".log"

현재 디렉터리에서 .log 파일만 필터링


5.3 find + grep

 
find . -type f | grep ".conf"

6. 초보자가 자주 하는 실수

6.1 경로 문제로 검색이 안 되는 경우

 
grep "error" app.log

현재 위치에 app.log가 없으면 실패한다.

👉 해결: 절대경로 사용

 
grep "error" /home/user/app.log

6.2 너무 넓은 범위 재귀 검색

 
grep -r "error" /
  • 서버 전체 검색
  • 성능 문제 발생 가능

👉 검색 범위는 항상 최소화


6.3 결과가 너무 많아서 못 봄

 
grep "error" app.log

👉 해결: less와 함께 사용

 
grep "error" app.log | less

7. 실무에서 자주 쓰는 사용 타이밍

  • 에러 로그 찾기
  • 설정 파일에서 특정 값 확인
  • 배포 후 문제 원인 추적
  • 프로세스/출력 결과 필터링

8. 정리 한 줄 요약

  • grep은 파일 내용 검색의 기본 도구다.
  • 이것만 기억하자:
  •  
    grep -in "검색어" 파일
반응형