为什么不推荐直接调用egrep或fgrep?

为什么不推荐直接调用egrep或fgrep?

根据手册页grep-程序,

此外,还有两个变体程序egrep 和fgrep 可用。 egrep 与“grep -E”相同。 fgrep 与“grep -F”相同。

不推荐使用egrep或fgrep直接调用,但提供它是为了允许依赖它们的历史应用程序在不修改的情况下运行。

为什么它们被弃用?

答案1

他们已从 POSIX 中删除,具有以下理由:

grep以向上兼容的方式得到增强,以提供历史版本的确切功能埃格雷普fgrep命令也是如此。标准制定者的明确意图是巩固这三个标准greps 到单个命令中。

老人埃格雷普fgrep命令可能会在未来许多年内作为实施扩展得到支持,从而允许历史应用程序无需修改即可运行。

所以egrepfgrep基本上是在走向完整的过程中的临时工件grep,现在已经可用很长时间了;它们已经达到了它们的目的并且不再需要,因此它们被弃用。

这方面的进一步证据可以在旧的 Unix 版本中找到:egrep并且fgrep没有单独的联机帮助页,它们记录在grep联机帮助页,其中明确指出

理想情况下应该只有一个grep,但我们不知道有哪种算法能够跨越足够广泛的时空权衡。

相关内容