何时使用 egrep 而不是 grep?

Mic*_*Mao 8 linux bash

我现在正在准备 Linux 终端评估,我尝试了谷歌,发现大多数资源都指的是基本的“grep”而不是更强大的“egrep”——嗯,这至少是教授在讲座中所说的。

我总是在处理小样本,所以性能调优是一件很遥远的事情。

所以基本上我想知道是否有任何地方我必须切换到 egrep 才能以更好的方式做到这一点?现在使用基本的“grep”是否安全?会不会有潜在风险?

抱歉我对 Linux shell 命令的了解有限,手册页对我来说就像一个迷宫,老实说我没有花太多时间来理解这两个命令提供的所有功能。

小智 10

egrep = grep -E

来自http://www.opengroup.org/onlinepubs/007908799/xcu/grep.html

“使用扩展正则表达式进行匹配。将每个指定为 ERE 的模式视为 XBD 规范,扩展正则表达式中所述。如果任何整个 ERE 模式与输入行匹配,则该行将被匹配。空 ERE 匹配每一行。”

因此,使用 egrep,您可以使用+, ?, | and ().


use*_*894 5

egrep 已弃用。使用grep -E. 请注意,它会grep为您找到字符串模式。如果您想在找到字符串后对其进行处理,则必须通过管道连接到字符串处理工具,例如awk(或 shell)。您还应该研究的工具是awk,因为它awk可以为您找到字符串grep,并在需要时为您进行处理。它在一个方便的工具中包含 grep/sed/etc 所做的所有事情。

  • 只是为了记录,在许多机器上,包括我的, egrep 是 grep 的链接。也就是说,它们实际上是完全相同的命令,但根据您如何调用它们而表现不同。 (2认同)