在 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 特定部分)虽然,但我想它即将到来。