Grep
是 POSIX 標準的“egrep”的一部分
該
egrep
命令已被棄用,取而代之的是grep -E
.POSIX 定義
grep
包括以下註釋,這
grep
已以向上兼容的方式得到增強,以提供歷史egrep
和fgrep
命令的確切功能。標准開發人員的明確意圖是將三個grep
s 合併為一個命令。舊的
egrep
和fgrep
命令可能會在未來很多年內作為實現擴展得到支持,允許歷史應用程序在不修改的情況下執行。但是,它本身沒有 POSIX 命令定義條目
egrep
。本節是否確認這
egrep
是一個公認的 POSIX 命令(即使已被棄用),還是僅指出該命令曾經存在並且在可預見的將來應該(不同於必須)支持?換一種說法,
egrep
POSIX的情況如何?
POSIX 基本原理部分中的“在先前版本中刪除的實用程序”部分說
在此標準的先前版本中刪除了以下實用程序:
$$ … $$
egrep
fgrep
這意味著它
egrep
不再是 POSIX 的一部分(包括擴展)。後果至少是這樣
- 沒有
egrep
可以認證的系統;- 嚴格遵守 POSIX 的實用程序不能期望
egrep
可用。POSIX 系統不應該包含任何類型的期望
egrep
,只是聲明由於egrep
歷史原因可能可用。我不知道認證測試套件是否包含任何符合
egrep
性測試。換句話說,我不知道包含egrep
不等同於的命令的系統是否grep -E
會通過一致性測試。(我想它不會,因為egrep
POSIX 沒有指定。)