为什么“egrep、fgrep 和 rgrep”的这些变体被弃用?

xia*_*ang 0 unix grep

grep、egrep、fgrep、rgrep、pgrep的说明如下:

描述

grep、egrep、fgrep、rgrep、pgrep - 是类 Unix 操作系统中的命令,用于打印与模式匹配的行。grep 在指定的输入文件中搜索包含与给定模式匹配的行。默认情况下,它打印匹配的行。

此外,变体程序egrep、fgrep 和rgrep 分别与grep -E、grep -F 和grep -r 相同。这些变体已被弃用,但提供它们是为了向后兼容。

为什么egrep、fgrep 和 rgrep的这些变体已被弃用?

Tho*_*key 5

grep 的 POSIX 描述的基本原理中对此进行了回答:

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

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

历史实现通常会默默地忽略多重指定的 -e 和 -f 选项中除其中一个之外的所有选项,但对于实际使用的规范并不一致。