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