[英]Why do several Linux distros ship mawk by default even though it is not POSIX compliant?
mawk不支持POSIX,因为它不支持POSIX ERE。
确切地说,它在其ERE中不支持诸如[[:space:]]之类的命名字符类,它们是POSIX ERE的一部分。
GNU awk和BusyBox awk似乎都没有此问题。
我在自己的awk脚本中多次遇到此问题,因为我非常喜欢[[:space:]]用单个字符类表达式匹配htabs以及空格和可能还有其他特定于语言环境的空白。
因此,我想知道为什么即使有POSIX兼容的发行版,还是有几个Linux发行版默认选择提供了一个非POSIX兼容的实现,而该实现不是这样的杰出实用程序?
看http://archive.debian.org ,似乎:
我可以想象mawk仍然是默认设置,原因之一是:
需要注意的是mawk 是 POSIX兼容的(在某种程度上)。 从其联机帮助页:
mawk符合AWK语言的Posix 1003.2(草稿11.3)定义
不幸的是,这不是您关心的版本...
考虑到甚至很难更新其版本:
(两者仍然开放,后者从2009年开始!!),想象一下让debian完全用其他东西代替它会多么困难!
我怀疑还有:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.