该egrep
命令已被弃用,取而代之的是grep -E
.
的POSIX 定义grep
包括以下注释:
这
grep
已经以向上兼容的方式得到增强,以提供历史egrep
和fgrep
命令的确切功能。标准开发人员的明确意图是将这三个grep
命令合并为一个命令。旧
egrep
命令fgrep
可能会在未来许多年作为实现扩展得到支持,从而允许历史应用程序无需修改即可运行。
然而,它本身没有 POSIX 命令定义条目egrep
。
本节是否确认这egrep
是一个公认的 POSIX 命令(即使已被弃用),还是仅仅指出该命令曾经存在并且在可预见的将来应该(而不是必须)受支持?
换句话说,egrep
POSIX 的情况如何?
POSIX 基本原理部分中的 \xe2\x80\x9cUtilitiesRemoved in the Previous Version\xe2\x80\x9d 部分表示
\n\n\n在此标准的先前版本中删除了以下实用程序:
\n[\xe2\x80\xa6]
\negrep
fgrep
这意味着它egrep
不再是 POSIX 的一部分(包括扩展)。后果至少是这样的
egrep
未经认证的系统;egrep
可用。POSIX 系统不应该包含任何类型的期望egrep
,只是声明由于历史原因可能egrep
存在。
我不知道认证测试套件是否包含任何一致性测试(egrep
当它存在时) 。换句话说,我不知道包含 xe2x80x99tegrep
等效命令的系统是否grep -E
会失败一致性测试。(我想它不会\xe2\x80\x99t,因为egrep
POSIX指定了\xe2\x80\x99t。)