grep 대신 egrep을 언제 사용해야합니까?


8

저는 지금 Linux 터미널 평가를 준비 중이며 Google에 노력했으며 대부분의 리소스가 더 강력한 "egrep"이 아닌 기본 "grep"을 참조하고 있다는 것을 알게되었습니다.

나는 항상 작은 샘플로 작업하므로 성능 조정이 너무 멀리 있습니다.

그래서 기본적으로 나는 더 나은 방법으로 egrep으로 전환 해야하는 영역이 있는지 알고 싶습니다. 지금처럼 기본 "grep"으로 작업하는 것이 안전합니까? 잠재적 인 위험이 있습니까?

Linux 쉘 명령에 대한 제한된 지식에 대해 죄송하지만 매뉴얼 페이지는 미로처럼 보이며 솔직히 두 명령이 제공하는 모든 기능을 이해하는 데 많은 시간을 투자하지 않았습니다.

답변:


10

egrep = grep -E

에서 http://www.opengroup.org/onlinepubs/007908799/xcu/grep.html

"확장 정규 표현식을 사용하여 일치. XBD 스펙, 확장 정규 표현식에 설명 된대로 ERE로 지정된 각 패턴을 처리하십시오. 전체 ERE 패턴이 입력 라인과 일치하면 라인이 일치합니다. 널 ERE는 모든 라인과 일치합니다."

따라서 egrep을 사용하면을 사용할 수 있습니다 +, ?, | and ().


@ omfgroflmao : 그 차이는 무엇입니까? 글쎄, 이제 "egrep"명령에 대해 걱정하지 않고 "grep"튜토리얼에 집중하는 것이 편하다고 생각합니다. :) 팁 감사합니다!

1
당신이 그것을 호출 여부 egrep또는 grep -E확장 정규 표현식은 일반적으로``많이 제거하여 읽을 복잡한 패턴이 짧고, 따라서 쉽게 않습니다. 성능에 관한 것이 아니라 어떤면에서는 더 나은 방법입니다.
Cascabel

5

egrep은 더 이상 사용되지 않습니다. 사용하십시오 grep -E. 참고 grep당신을 위해 발견 문자열 패턴을. 문자열을 찾은 후 문자열에 무언가를 수행하려면 awk(또는 쉘) 과 같은 문자열 처리 도구로 파이프해야합니다 . 당신이 ALOS가 조사해야하는 도구입니다 awk로, awk뿐만 아니라 많은 같은 당신을 위해 발견 문자열 grep와 당신이 필요로하는 경우에 대한 처리를 수행합니다. grep / sed / etc 등이 하나의 편리한 도구로 수행합니다.


@ ghostdog74 : 아아, egrep은 사용하지 않는 것이 좋습니다 ... 나는 grep을 대체한다고 생각했습니다 ... 팁 주셔서 감사합니다!

2
기록을 위해 많은 기계에서 광산이 포함되어 있습니다. egrep은 grep에 대한 링크입니다. 즉, 실제로 동일한 명령이지만 호출 방법에 따라 다르게 동작합니다.
MJB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.