Grep

是 POSIX 標準的“egrep”的一部分

  • March 31, 2022

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

POSIX 定義grep包括以下註釋,

grep已以向上兼容的方式得到增強,以提供歷史egrepfgrep命令的確切功能。標准開發人員的明確意圖是將三個greps 合併為一個命令。

舊的egrepfgrep命令可能會在未來很多年內作為實現擴展得到支持,允許歷史應用程序在不修改的情況下執行。

但是,它本身沒有 POSIX 命令定義條目egrep

本節是否確認這egrep是一個公認的 POSIX 命令(即使已被棄用),還是僅指出該命令曾經存在並且在可預見的將來應該(不同於必須)支持?

換一種說法,egrepPOSIX的情況如何?

POSIX 基本原理部分中的“在先前版本中刪除的實用程序”部分

在此標準的先前版本中刪除了以下實用程序:

$$ … $$ egrep fgrep

這意味著它egrep不再是 POSIX 的一部分(包括擴展)。後果至少是這樣

  • 沒有egrep可以認證的系統;
  • 嚴格遵守 POSIX 的實用程序不能期望egrep可用。

POSIX 系統不應該包含任何類型的期望egrep,只是聲明由於egrep歷史原因可能可用。

我不知道認證測試套件是否包含任何符合egrep測試。換句話說,我不知道包含egrep不等同於的命令的系統是否grep -E會通過一致性測試。(我想它不會,因為egrepPOSIX 沒有指定。)

引用自:https://unix.stackexchange.com/questions/697413