리눅스 grep 명령어: 파일 내에서 문자열 검색 및 패턴 찾기

리눅스 grep 명령어: 파일 내에서 문자열 검색 및 패턴 찾기

grep (Global Regular Expression Print) 명령어는 리눅스 및 유닉스 시스템에서 파일 내용을 검색할 때 사용하는 대표적인 명령어입니다. 텍스트 데이터에서 특정 문자열이나 패턴을 찾을 수 있으며, 정규 표현식을 활용하면 보다 다양한 조건으로 검색할 수 있습니다.

☞ 포스트 기준: 일반적인 리눅스 환경의 grep 명령어

1. grep 명령어 기본 사용법

기본적인 grep 명령어의 사용 형식은 다음과 같습니다.

grep [옵션] '패턴' 파일명

검색할 문자열이나 패턴을 지정한 후 대상 파일을 입력하면, 해당 패턴이 포함된 줄을 찾아 출력합니다.

2. 주요 옵션 및 설명

옵션설명
-i대소문자 구분 없이 검색
-v지정한 패턴을 포함하지 않는 라인을 출력
-n검색 결과에 라인 번호를 함께 출력
-c패턴과 일치하는 라인의 개수를 출력
-l패턴이 포함된 파일명만 출력
-w지정한 단어와 정확히 일치하는 경우만 검색
-r 또는 -R하위 디렉토리를 포함하여 재귀적으로 검색
-E확장 정규 표현식 사용
–color검색된 패턴을 색상으로 강조하여 출력

3. grep 명령어 사용 예시

1. 파일 내에서 error 문자열을 대소문자 구분 없이 검색

grep -i 'error' example.log
리눅스 grep -i 옵션 명령어 사용 예시


2. 파일 내에서 start 문자열을 포함하는 라인을 제외하고 출력

grep -v 'start' example.log

3. 현재 디렉토리와 하위 디렉토리의 PHP 파일에서 function 문자열 검색

grep -r --include="*.php" 'function' .

--include="*.php" 옵션을 함께 사용하면 PHP 파일만 대상으로 재귀 검색할 수 있습니다.

4. 파일 내에서 Fatal 문자열과 일치하는 라인의 개수를 출력

grep -c 'Fatal' error_log

5. 문자열 TODO를 포함하는 내용을 하위 디렉토리까지 검색하고 결과를 강조하여 출력

grep -r --color 'TODO' /path/to/project

6. 시스템에 설치된 패키지 중 python 문자열이 포함된 항목 조회

rpm -qa | grep 'python'
리눅스 grep 명령어로 시스템에 설치된 python 패키지 목록 조회 예시

4. 자주 사용하는 grep 활용 방법

grep은 다른 명령어와 파이프(|)로 연결해서 사용할 때 특히 유용합니다. 명령 실행 결과가 많을 경우 필요한 내용만 빠르게 걸러낼 수 있습니다.

예를 들어 실행 중인 프로세스에서 특정 이름만 찾으려면 다음과 같이 사용할 수 있습니다.

ps -ef | grep 'nginx'

특정 단어와 정확히 일치하는 항목만 찾으려면 -w 옵션을 사용할 수 있습니다.

grep -w 'error' example.log

마무리

grep 명령어는 리눅스에서 로그 파일이나 설정 파일, 소스 코드 등에서 원하는 문자열을 빠르게 찾을 때 매우 유용합니다. 기본 검색뿐 아니라 -i, -n, -r, -w 등의 옵션과 파이프를 함께 사용하면 필요한 정보를 보다 효율적으로 찾을 수 있습니다.

관련 이전 게시글

다음 글에서도 리눅스의 기본 명령어에 대해 알아보겠습니다. 이 글이 도움이 되셨다면 공유 부탁드립니다!

위로 스크롤