리눅스 grep 명령어: 파일 내에서 문자열 검색 및 패턴 찾기
grep
(Global Regular Expression Print) 명령어는 리눅스 및 유닉스 시스템에서 파일 내용을 검색할 때 사용하는 강력한 도구입니다. 텍스트 형식의 데이터에서 특정 패턴이나 문자열을 찾는데 사용되며, 정규 표현식을 지원하여 복잡한 검색 요구사항도 수행할 수 있습니다.
☞ 포스트 기준: 리눅스 배포판 CentOS 7
1. grep 명령어 기본 사용법
기본적인 grep
명령어의 사용법은 다음과 같습니다.
grep [옵션] '패턴' 파일명
2. 주요 옵션 및 설명
옵션 | 설명 |
---|---|
-i | 대소문자 구분 없이 검색 |
-v | 지정한 패턴을 포함하지 않는 모든 라인을 출력 |
-n | 검색 결과에 라인 번호를 포함하여 출력 |
-c | 패턴과 일치하는 라인의 개수를 출력 |
-r 또는 -R | 하위 디렉토리를 포함하여 재귀적으로 검색 |
–color | 검색된 패턴을 하이라이트하여 출력 |
3. grep 명령어 사용 예시
1. 파일 내에서 ‘error’ 문자열을 대소문자 구분 없이 검색
grep -i 'error' example.log
2. 파일 내에서 ‘start’ 문자열을 포함하는 라인을 제외하고 출력
grep -v 'start' example.log
3. 현재 디렉토리 및 모든 하위 디렉토리에서 ‘.php’ 파일 내부에 ‘function’ 문자열 검색
grep -r 'function' *.php
4. 파일 내에서 ‘Fatal’ 문자열과 일치하는 라인의 개수를 출력
grep -c 'Fatal' error_log
5. 문자열 ‘TODO’를 포함하는 모든 파일 찾기
grep -r --color 'TODO' /path/to/project
6. 시스템에 설치된 모든 ‘python’ 패키지 목록 조회
rpm -qa | grep 'python'
☞ 위의 정보를 통해 리눅스 시스템에서 grep
명령어를 사용하여 효과적으로 파일 내용을 검색하고, 다양한 옵션을 활용하여 필요한 정보를 빠르게 찾을 수 있음을 알 수 있습니다.
관련 이전 게시글
- 리눅스 cat 명령어: 파일 내용 출력하기
- 리눅스 sort와 uniq 명령어: 텍스트 파일 정렬 및 중복 줄 제거하기
- 리눅스 head와 tail 명령어: 파일의 시작과 끝 내용 확인하기
- 리눅스 more 및 less 명령어: 텍스트 파일 효율적으로 훑어보기
- 리눅스 whereis, which 명령어: 프로그램 위치 찾기
다음 글에서도 리눅스의 기본 명령어에 대해 알아보겠습니다. 이 글이 도움이 되셨다면 공유 부탁드립니다!