egrep 또는 fgrep을 직접 호출하는 것이 권장되지 않는 이유는 무엇입니까?

egrep 또는 fgrep을 직접 호출하는 것이 권장되지 않는 이유는 무엇입니까?

매뉴얼 페이지에 따르면grep 프로그램,

또한 두 가지 변형 프로그램 egrep 및 fgrep을 사용할 수 있습니다. egrep은 "grep -E"와 동일합니다. fgrep은 "grep -F"와 동일합니다.

egrep 또는 fgrep을 사용한 직접 호출은 더 이상 사용되지 않지만 이에 의존하는 기록 애플리케이션이 수정 없이 실행될 수 있도록 제공됩니다.

왜 더 이상 사용되지 않습니까?

답변1

그들은 가지고 있다POSIX에서 제거됨, 다음과 함께이유:

이것grep이전 버전의 정확한 기능을 제공하기 위해 상위 호환 방식으로 향상되었습니다.에그레프그리고fgrep명령도 마찬가지입니다. 표준 설정자의 명확한 의도는 이 세 가지 표준을 통합하는 것입니다.greps를 하나의 명령으로 묶습니다.

장로에그레프그리고fgrep명령은 앞으로 수년 동안 구현 확장으로 지원될 수 있으므로 기존 애플리케이션을 수정 없이 실행할 수 있습니다.

따라서 egrepfgrep은 기본적으로 완성을 향한 길에 있는 임시 아티팩트로서 grep현재 오랫동안 사용 가능했으며 더 이상 필요하지 않으므로 더 이상 사용되지 않습니다.

이에 대한 추가 증거는 이전 Unix 버전에서 찾을 수 egrep있으며 fgrep별도의 맨페이지 없이 다음 문서에 문서화되어 있습니다.grep맨페이지, 이는 명확하게 말합니다.

이상적으로는 하나만 있어야합니다.grep, 그러나 우리는 충분히 광범위한 시공간적 절충을 포괄하는 알고리즘을 인식하지 못합니다.

관련 정보