为什么这些" egrep,fgrep和rgrep"的变体?不赞成?

时间:2017-08-02 13:02:26

标签: unix grep

grep,egrep,fgrep,rgrep,pgrep 的描述如下所示:

  

说明

     

grep,egrep,fgrep,rgrep,pgrep - 是类Unix操作的命令   打印与图案匹配的线条的系统。 grep搜索   命名输入FILE用于包含与给定PATTERN匹配的行。   默认情况下,它会打印匹配的行。

     

此外,变体程序egrep,fgrep和rgrep是相同的   分别为grep -E,grep -F和grep -r。这些变种是   不推荐使用,但是为了向后兼容而提供。

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

1 个答案:

答案 0 :(得分:2)

Rationale 中回答了grep的POSIX描述:

  

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

     

旧的egrep和fgrep命令很可能在未来许多年内被支持作为实现扩展,允许历史应用程序不加修改地运行。

     

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