何时使用 egrep 而不是 grep?

何时使用 egrep 而不是 grep?

我现在正在准备 Linux 终端评估,我尝试使用 Google 搜索,发现大多数资源都指的是基本的“grep”,而不是更强大的“egrep”——好吧,至少教授在讲座上是这么说的。

我总是使用小样本,因此性能调整还太遥远。

所以基本上我想知道在哪些方面我必须切换到 egrep 才能做得更好?目前使用基本的“grep”安全吗?会有潜在风险吗?

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

答案1

egrep = grep -E

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

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

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

答案2

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

相关内容