egrep — 확장 정규식 검색
Linux / 리눅스 기본 명령어 / egrep.html
확장 정규식으로 패턴을 검색하는 grep 계열 명령어.
기본 정보
| 명령어 이름 | egrep |
|---|---|
| 한 줄 소개 | 확장 정규식으로 패턴을 검색하는 grep 계열 명령어. |
| 제공 | GNU grep |
| 공식 문서 | https://man7.org/linux/man-pages/man1/grep.1.html |
| 지원 운영체제 | Linux, macOS(사용 중단 권고), BSD |
| 설치 여부 | 기본 탑재 |
| 분류 | 리눅스 기본 명령어 (태그: 리눅스 기본 명령어 (태그: egrep, grep, 정규식, ERE)) |
이 명령어는 무엇인가?
egrep은 grep -E와 같은 동작을 하는 별칭입니다. +, ?, |, () 같은 확장 정규식 메타문자를 역슬래시 없이 사용할 수 있습니다.
최신 GNU grep에서는 egrep 사용을 권장하지 않고 grep -E를 쓰도록 안내합니다. 스크립트를 새로 쓴다면 grep -E로 작성해 이식성과 유지보수를 높이는 편이 좋습니다.
어떤 문제를 해결하는가?
- 여러 패턴 중 하나를 한 번에 찾을 때
- 반복 횟수({n,m})를 정규식으로 지정할 때
- 그룹과 선택(|)을 활용해 조건을 조합할 때
- 기존 스크립트의 egrep 호출을 해석할 때
주요 기능
확장 정규식
+, ?, |, ()를 이스케이프 없이 사용합니다.
- 활용 상황: 복잡한 조건을 간결하게 쓸 때
- 얻는 결과: 패턴이 읽기 쉬워집니다.
- 제한 사항: 기본 grep과 문법이 달라 혼동될 수 있습니다.
다중 패턴
|로 여러 대안을 한 번에 검색합니다.
- 활용 상황: 에러와 경고를 함께 찾을 때
- 얻는 결과: 호출을 한 번으로 줄일 수 있습니다.
- 제한 사항: 괄호 없이 쓰면 우선순위가 의도와 달라질 수 있습니다.
이식성
grep -E로 바꿔 쓰는 것이 권장됩니다.
- 활용 상황: 스크립트를 장기 유지보수할 때
- 얻는 결과: 사용 중단 경고를 피할 수 있습니다.
- 제한 사항: 일부 오래된 환경에서는 egrep만 동작할 수 있습니다.
설치 및 실행
설치 여부 확인
egrep --version
sudo apt install grep # Debian/Ubuntu sudo dnf install grep # Fedora
실제 사용 예제
대안 검색
두 문자열 중 하나를 찾습니다.
egrep 'error|warning' app.log
반복 지정
숫자 세 자리를 찾습니다.
egrep '[0-9]{3}-[0-9]{4}' contacts.txt
grep -E로 대체
동일한 동작을 권장 문법으로 실행합니다.
grep -E '^(GET|POST) ' access.log | head