hanker

Linux - grep 명령어 (텍스트 파일 내에서 특정 패턴이나 문자열을 검색할 때 사용) 본문

SERVER/Linux

Linux - grep 명령어 (텍스트 파일 내에서 특정 패턴이나 문자열을 검색할 때 사용)

hanker 2025. 1. 18. 00:00
반응형

이번에 알아볼 명령어는 Linux 시스템에서 자주 사용되는 grep 명령어다.

 

grep 명령어는 텍스트 파일 내에서 특정 패턴이나 문자열을 검색할 때 사용된다.

 

기본 사용법부터 옵션, 어떻게 사용하면 되는지에 대해서 알아보자!

 


1. 기본 사용법

 

기본 사용법은 아래와 같다.

# grep [검색할 문자열] [파일명]

grep "error" log.txt

log.txt 파일에서 "error"라는 문자열이 포함된 모든 줄을 출력한다.

 

 


2. 주요 옵션

 

옵션 설명
-i 대소문자 구분 없이 검색
-v 검색 문자열이 포함되지 않은 줄 출력
-r 하위 디렉토리 포함하여 모든 파일을 재귀적으로 검색 
-n 검색 결과의 줄 번호 표시
--color=auto 검색어를 색상으로 강조 표시

 

예를 들어, -i 옵션을 사용하여 대소문자 구분 없이 'hello'를 검색해보자

grep -i 'hello' example.txt

위 코드는 'hello', 'Hello', 'HELLO' 등이 포함된 모든 행을 출력하게 된다.

 


3. 실제 사용 예제

 

3-1. 특정 단어 검색

grep "server" config.txt

- config.txt 파일에서 "server"라는 단어가 포함된 줄을 출력한다.

 

 

3-2. 여러 파일에서 검색

grep "error" *.log

현재 디렉토리의 모든 .log 파일에서 "error" 문자열을 검색 후 출력한다.

 

 

3-3. 대소문자 구분 없이 검색

grep -i "warning" log.txt

- "Warning", "WARNING", "warning" 등 대소문자 구분 없이 log.txt 파일 내에서 모든 문자열이 포함된 행을 출력한다.

 

 

3-4. 하위 디렉토리 포함 검색

grep -r "TODO" .

- 현재 디렉토리와 하위 디렉토리에서 "TODO"라는 문자열을 검색한다.

 

 

3-5. 특정 문자열 제외

grep -v "debug" log.txt

- log.txt 파일에서 "debug" 문자열을 포함하지 않는 행을 출력한다.

 


4. 정규 표현식 활용

 

grep은 정규 표현식을 지원하여 복잡한 검색 조건을 처리할 수 있다.

정규 표현식 설명
^ 문자열의 시작
$ 문자열의 끝
. 임의의 문자
* 0개 이상의 반복

 

grep "^error" log.txt

- log.txt 파일에서 "error"로 시작하는 줄을 찾는다.

 

 


5. 실시간 로그 분석

 

grep 명령어와 tail 명령어를 결합하면 실시간 로그 분석이 가능하다.

tail -f /var/log/syslog | grep "error"

시스템 로그에서 "error"를 포함한 항목을 실시간으로 모니터링 한다.

 


grep 명령어는 진짜 진짜 많이 쓰인다.

옵션들도 더 많으니 알아보고 실업무에서 사용하길 바란다!

 

끝!

반응형