카테고리 없음

[리눅스] grep 명령어로 여러 문자열 한 번에 검색하는 방법

idea9329 2025. 4. 8. 17:31
반응형

 

리눅스에서 로그 파일을 분석하거나 특정 키워드를 찾아야 할 때 grep 명령어는 가장 많이 사용되는 도구 중 하나입니다. 하지만 하나의 키워드가 아니라 여러 키워드를 한 번에 검색하려면 약간의 팁이 필요합니다. 이 글에서는 grep을 이용해 여러 문자열을 동시에 검색하는 방법을 소개합니다.


1. -E 옵션 사용 (확장 정규식)

가장 일반적이고 직관적인 방법은 -E 옵션을 사용하는 것입니다. 여러 키워드를 |(파이프)로 구분하여 입력하면 됩니다.

grep -E 'error|fail|critical' /var/log/syslog

이 명령은 error, fail, critical 중 하나라도 포함된 줄을 모두 출력해줍니다.


2. egrep 사용

egrep은 grep -E와 동일한 기능을 하며, 동일한 방식으로 사용할 수 있습니다.

egrep 'warn|denied|timeout' /var/log/messages

3. 키워드 파일을 이용한 검색 (-f 옵션)

검색할 키워드가 많을 때는 텍스트 파일로 따로 관리하면 편리합니다.

# keywords.txt
error
fail
timeout

그리고 다음 명령어로 검색합니다:

grep -f keywords.txt /var/log/syslog

4. 유용한 추가 옵션

  • -i : 대소문자 구분 없이 검색
  • -n : 줄 번호 표시
  • --color=auto : 매칭된 키워드에 색상 적용
  • -r : 디렉토리 전체 재귀 검색

예시:

grep -inr --color=auto 'error|fail|critical' /var/log

grep을 활용한 다중 키워드 검색은 에러 로그 분석, 보안 로그 확인, 서비스 상태 추적 등 다양한 상황에서 매우 유용합니다. 위 방법들을 조합해 보다 빠르고 정확한 분석을 해보세요.

반응형