본문 바로가기
기타

리눅스 grep vs egrep 골라 써보자

by 플라퉁 2023. 11. 4.
728x90
반응형

 

 

 

안녕하세요 오늘은 grep과 egrep에 대해 알아보겠습니다.

 

grep과 egrep은 모두 텍스트 파일에서 패턴을 검색하는 명령어입니다. 

 

주요한 차이점은 정규식의 문법을 해석하는 방식에 있습니다.

1. grep : grep은 기본적으로 기본 정규식(Basic Regular Expression, BRE)을 사용하여 패턴을 해석합니다. 

 

BRE에서는 특정 메타문자(예: |, *, + 등)를 사용하기 위해서는 이스케이프(\) 문자를 함께 사용해야 합니다.


예를 들어, grep으로 abc+라는 패턴을 검색하려면 다음과 같이 이스케이프 문자를 사용해야 합니다:

 

grep 'abc\+' 파일명.log

 

2. egrep : egrep은 확장 정규식(Extended Regular Expression, ERE)을 사용하여 패턴을 해석합니다.

 

ERE는 BRE에 비해 표현력이 더 강력하며, 일부 메타문자(예: |, *, + 등)를 이스케이프 문자 없이 사용할 수 있습니다.

 

따라서, egrep을 사용하면 다음과 같이 간단하게 abc+라는 패턴을 검색할 수 있습니다:

 

egrep 'abc+' 파일명.log

 

 

즉, egrep은 보다 강력한 정규식 문법을 지원하며, 메타문자를 이스케이프하지 않고 사용할 수 있는 장점이 있습니다. 

 

그러나 grep은 기본적으로 더 일반적으로 사용되는 명령어이며, 

 

정규식의 표현력이 충분한 경우 grep만으로도 충분히 사용할 수 있습니다.

따라서, 패턴 검색에 있어서 정확한 문법 선택은 사용자의 요구사항과 정규식의 복잡성에 따라 달라집니다. 

 

필요에 따라 grep 또는 egrep을 선택하여 적절한 정규식 패턴을 사용하시면 됩니다.

 

감사합니다!!

 

 

 

 

728x90
반응형

댓글