[英]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.