“egrep”是 POSIX 标准的一部分

“egrep”是 POSIX 标准的一部分

egrep命令已被弃用,取而代之的是grep -E.

POSIX 定义grep包括以下注释,

这已经以向上兼容的方式得到增强,以提供历史和命令grep的确切功能。标准开发人员的明确意图是将这三个命令合并为一个命令。egrepfgrepgrep

egrep命令fgrep可能会作为实施扩展得到支持很多年,从而允许历史应用程序无需修改即可运行。

然而,它本身没有 POSIX 命令定义条目egrep

本节是否确认这egrep是一个可识别的 POSIX 命令(即使已弃用),还是仅仅指出该命令曾经存在并且应该是(不同于必须是)在可预见的未来得到支持?

换句话说,egrepPOSIX 的情况如何?

答案1

POSIX 基本原理部分中的“先前版本中删除的实用程序”部分

在此标准的先前版本中删除了以下实用程序:

[…]egrep fgrep

这意味着它egrep不再是 POSIX 的一部分(包括扩展)。后果至少是这样的

  • egrep未经认证的系统;
  • 严格遵守 POSIX 标准的实用程序不得期望egrep可用。

POSIX 系统不存在任何形式的期望应该include ,只是一个声明,表明由于历史原因egrep可能存在。egrep

我不知道认证测试套件是否包含任何合规性egrep测试展示。换句话说,我不知道包含egrep不等同命令的系统grep -E是否会失败一致性测试。 (我想它不会,因为egrepPOSIX 没有指定。)

相关内容