【发布时间】:2014-05-05 20:45:47
【问题描述】:
如果我使用很多反斜杠,我可以用 grep 做任何正则表达式吗?到目前为止,似乎是这样。
我的意思是,也没有 grep -E。所以只是“grep regex file”,需要的地方有很多反斜杠。
【问题讨论】:
-
can I do any regular expression with grep?是的,仅此而已?!
如果我使用很多反斜杠,我可以用 grep 做任何正则表达式吗?到目前为止,似乎是这样。
我的意思是,也没有 grep -E。所以只是“grep regex file”,需要的地方有很多反斜杠。
【问题讨论】:
can I do any regular expression with grep? 是的,仅此而已?!
man egrep
"另外还有两个变种程序 egrep 和 fgrep 可用。egrep 与 grep -E 相同。fgrep 与 grep -F 相同。直接调用为 egrep 或 fgrep 已弃用,但提供它是为了允许依赖它们的历史应用程序在未经修改的情况下运行。”
-E 表示扩展正则表达式,仍然是 man egrep: “grep 理解三种不同版本的正则表达式语法:“基本”、“扩展”和“perl”。在 GNU grep 中,可用功能没有区别 在基本语法和扩展语法之间。在其他实现中,基本的正则表达式没有那么强大。以下描述适用于扩展常规 表达式;后面总结了基本正则表达式的区别。 Perl 正则表达式提供了额外的功能,并记录在 pcresyntax(3) 和 pcrepattern(3),但可能并非在每个系统上都可用。"
【讨论】:
grep -E 和 egrep 可以互换,很多人(包括我自己)都会提出这个问题。