是否有不支持“-E”的“sed”标准版本?

是否有不支持“-E”的“sed”标准版本?

在 BSD sed 上,-E是“扩展正则表达式”标志。在 GNU sed 上,文档指出这-r是扩展的正则表达式标志,但该-E开关也可以工作(尽管在我的研究中没有记录)。

我记得读过某个地方-E将在下一版 POSIX 规范中指定,但我找不到在哪里读到的内容。

(这是真的吗?有没有权威的参考资料,或者这里的用户权威?)

多么便携开关-E用于sed

是否有不支持sed的标准(即符合 POSIX 标准)版本-E? (哪个?)

-E为什么GNU sed 没有记录该标志?

答案1

GNU 首先添加了未记录的支持,只是为了-E兼容 BSD 语法,源代码包含注释

/* 未记录,用于与 BSD sed 兼容。 */

但在 2013 年,该内容被删除这次提交与日志消息

修改文档以注意 sed “-E”选项,现在在 POSIX 中,用于 ERE。

并且提交引用了 POSIX 的缺陷跟踪器这一页标记为已接受,将-E标志添加到sed参数中

貌似没有进入最新的 POSIX 规范(sed 特定部分)虽然,但我想它即将到来。

答案2

需要注意的是经过认证的系统:

操作系统X有它,尽管它是 BSD 优先还是 GNU 优先并不是问题的一部分。

相关内容