在 awk 中使用 BRE 和 ERE

Ver*_*era 0 awk regular-expression

如何awk区分使用BREERE?因为sed有一个-E选项可以使用。

Kus*_*nda 5

它不需要区分两者,因为 中的正则表达式awk始终是 POSIX扩展正则表达式。

来自POSIX 规范awk

awk 实用程序应使用扩展正则表达式符号 [...]

我不知道有任何实现引入了用于切换到 POSIX基本awk正则表达式的非标准选项。

sed实用程序始终使用 POSIX基本正则表达式,除非您将其与其(到目前为止)非标准但相当常用的-E选项一起使用。该grep实用程序也默认使用 POSIX基本正则表达式,但-E使其能够使用 POSIX扩展正则表达式的选项实际上是标准的(而-P对于 Perl 兼容的正则表达式,PCRE 是非标准的,通常在非 GNU 系统上不实现) 。该grep实用程序还可以使用其标准选项将给定表达式解释为纯字符串-F