为什么这个 BSD grep 结果与 GNU grep 不同?

为什么这个 BSD grep 结果与 GNU grep 不同?

我的电脑运行的是 macOS 10.12.3,我使用的是系统安装的grep实用程序版本 2.5.1-FreeBSD。

这些是我在测试各种正则表达式时得到的输出:

截屏

但如果我使用 GNU grep(版本 2.25)运行它们,我会得到以下结果:

截屏

GNU 的 grep 对我来说看起来是正确的,而 BSD 的 grep 是不正确的,不是吗?为什么它们不同?我不明白为什么当正则表达式指定它必须跟在行的开头时,BSD 的 grep 会匹配“a”。

答案1

我认为这可能是 FreeBSD grep 中的一个错误。有一个错误报告与类似的问题。

相关内容