在 awk 中使用 BRE 和 ERE

在 awk 中使用 BRE 和 ERE

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

答案1

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

POSIX 规范awk:

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

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

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

相关内容