mawk 不符合 POSIX,因为它不支持 POSIX ERE。
准确地说,它在其 ERE 中不支持像 [[:space:]] 这样的命名字符类,它们是 POSIX ERE 的一部分。
GNU awk 和 BusyBox awk 似乎都没有这个问题。
我在自己的 awk 脚本中多次遇到此问题,因为我真的很喜欢 [[:space:]] 来匹配 htab 以及空格和可能其他特定于语言环境的空白与单个字符类表达式。
所以我想知道为什么有几个 Linux 发行版选择在默认情况下为这样一个突出的实用程序提供一个不符合 POSIX 的实现,即使也可以使用符合 POSIX 的那些?