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.