!["-E"를 지원하지 않는 "sed"의 표준 버전이 있습니까?](https://linux55.com/image/94582/%22-E%22%EB%A5%BC%20%EC%A7%80%EC%9B%90%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%22sed%22%EC%9D%98%20%ED%91%9C%EC%A4%80%20%EB%B2%84%EC%A0%84%EC%9D%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
BSD sed에서는 -E
"확장 정규식" 플래그입니다. GNU sed의 문서에는 이것이 -r
확장된 정규식 플래그라고 명시되어 있지만 해당 -E
스위치도 작동합니다(비록 내 연구에는 문서화되어 있지 않지만).
POSIX 사양의 다음 버전에서 이것이 지정될 것이라는 내용을 어딘가에서 읽은 기억이 나지만 -E
, 어디서 읽었는지 찾을 수 없습니다.
(이것이 사실인가요? 여기에 권위 있는 참조나 사용자가 있습니까?예권한? )
휴대성예스위치는 무엇 -E
에 사용되나요 sed
?
sed
지원되지 않는 (즉, POSIX 호환) 표준 버전이 있습니까 -E
? (어느 것?)
-E
GNU sed가 이 플래그를 문서화하지 않는 이유는 무엇입니까?
답변1
GNU는 BSD 구문과의 호환성을 위해 먼저 문서화되지 않은 지원을 추가했습니다 -E
. 소스 코드에는 주석이 포함되어 있습니다.
/* BSD sed와의 호환성을 위해 문서화되지 않았습니다. */
하지만 2013년에 해당 내용이 삭제되었습니다.이번에 제출하세요로그 메시지 포함
ERE에 대한 POSIX의 sed "-E" 옵션을 기록하도록 문서를 수정합니다.
커밋은 POSIX 결함 추적기를 참조합니다.이 페이지승인됨으로 표시하고 매개변수 -E
에 플래그를 추가하세요.sed
들어가지 않은 것 같은데최신 POSIX 사양(sed 특정 부분) 그래도 올 것 같아요.
답변2
인증된 시스템에 대해 참고할 사항:
- AIX, 아니요
- 고성능 사용자 경험 시스템, 아니요
- 솔라리스, 아니요
OSXBSD 우선인지 GNU 우선인지는 문제의 일부가 아니지만 그렇습니다.