개요
egrep은 텍스트 파일에서 특정 패턴을 포함하는 줄을 찾을 때 사용됩니다. 일반 grep과 달리, egrep은 확장 정규 표현식(ERE)을 기본적으로 지원하여 더욱 유연하고 강력한 패턴 매칭이 가능합니다.
주요 특징
- 확장 정규 표현식(ERE) 기본 지원
- `grep -E`와 기능적으로 동일
- 다양한 옵션을 통한 검색 및 출력 제어
- 파이프(|)와 함께 사용하여 다른 명령어의 출력 필터링
주요 옵션
egrep 명령어와 함께 자주 사용되는 주요 옵션들입니다.
검색 제어
출력 형식
생성된 명령어:
명령어를 조합해 보세요.
설명:
`egrep` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
egrep 명령어를 활용한 다양한 사용 예시입니다.
기본 확장 정규 표현식 검색
egrep 'apple|banana' fruits.txt
파일에서 'apple' 또는 'banana'가 포함된 줄을 검색합니다.
대소문자 무시하고 검색
egrep -i 'error' logfile.log
로그 파일에서 'error' 또는 'ERROR' 등 대소문자 구분 없이 'error'를 포함하는 줄을 검색합니다.
주석(#)으로 시작하지 않는 줄 출력
egrep -v '^#' config.ini
설정 파일에서 주석 처리된 줄을 제외하고 실제 설정 내용만 확인합니다.
특정 디렉토리에서 재귀적으로 검색
egrep -r 'function_name' ./src
현재 디렉토리의 'src' 하위 디렉토리 내 모든 파일에서 'function_name'을 검색합니다.
줄 번호와 함께 패턴 검색
egrep -n 'keyword' document.txt
문서 파일에서 'keyword'를 검색하고, 일치하는 줄의 번호를 함께 출력합니다.
프로세스 목록에서 특정 프로세스 검색
ps aux | egrep 'apache|nginx'
`ps aux` 명령의 출력에서 'apache' 또는 'nginx' 관련 프로세스를 필터링하여 확인합니다.
팁 & 주의사항
egrep 사용 시 유용한 팁과 주의할 점입니다.
grep -E와의 관계
대부분의 최신 리눅스 시스템에서 `egrep`은 `grep -E`에 대한 심볼릭 링크 또는 별칭입니다. 따라서 `grep -E`를 사용하는 것이 더 일반적이고 권장됩니다.
- `egrep` == `grep -E`
- 복잡한 정규 표현식 사용 시 `egrep` 또는 `grep -E`가 일반 `grep`보다 편리
성능 고려
정규 표현식이 아닌 고정 문자열을 검색할 때는 `fgrep` (또는 `grep -F`)을 사용하는 것이 성능상 더 유리할 수 있습니다. `fgrep`은 정규 표현식 파싱 오버헤드가 없기 때문입니다.
- 고정 문자열 검색: `fgrep` (또는 `grep -F`) 사용
- 정규 표현식 검색: `egrep` (또는 `grep -E`) 사용
정규 표현식 이스케이프
일반 `grep`에서는 `+`, `?`, `|`, `()` 등의 확장 정규 표현식 메타문자를 사용하려면 백슬래시(`\`)로 이스케이프해야 하지만, `egrep`에서는 이스케이프 없이 바로 사용할 수 있습니다.
- `egrep`에서는 `(a|b)+`와 같이 직접 사용
- 일반 `grep`에서는 `\(a\|b\)\+`와 같이 이스케이프 필요