作者 | 罗燕珊
现年 80 岁的 Unix 大神还在修复 AWK 代码。AWK 是一种用于分析文本文件的编程语言,是 Unix 操作系统的核心部分,包括 Linux、所有 BSD 和其他系统。对于被认为符合 POSIX 标准的操作系统,它必须包含 AWK。AWK 首次出现在 1977 年,并在 1979 年被放进第 7 版 UNIX 中——这是贝尔实验室的最后一版 UNIX,后面 AT&T 把它变成了商业产品。
如今,这款工具终于能支持 Unicode,但在这件事上,更引起大家注意的是工具背后的传奇人物,加拿大计算机科学家 Brian Kernighan。AWK 里面的“K”指代的便是他的名字。
Brian Kernighan 曾就职于贝尔实验室,目前为普林斯顿大学教授,参与 Unix 的研发,也是 AMPL 与 AWK 的共同创造者之一,他和 Dennis Ritchie 共同写作了 C 语言的第一本著作《C 程序设计语言》,在这之后,他的名字开始为人所熟知。Kernighan 教授也是“K&R C”中的“K”。
虽然 AWK 有不同版本,但这是原始版本,被称为“One True AWK”(有时被称为 nawk)。今年 5 月下旬,Kernighan 教授给一位老朋友发了邮件,他在里面提到自己还在琢磨为 AWK 添加 Unicode 支持,并分享了进展(现在已能使用,除了测试不足),他还谦虚地说:
一旦我弄清楚了如何(并做更多检查,我将尝试提交拉取请求。我希望我能更好地理解 git。尽管有你的帮助,我仍没有做到正确理解,所以这可能还需要一段时间。
关于 Unicode 支持的代码变更实际上是在几个月前就发生,但由于刚刚发布的关于 Kernighan 教授的采访,这件事才被更广泛的圈子注意到。
“AWK 只适用于 ASCII 或 8 位输入,但它根本不能真正处理 Unicode,这一直是一个尴尬,”Kernighan 教授在视频中告诉采访主持 David Brailsford 教授。“几个月前,我花了一些时间使用(笑)一个非常古老的程序。我现在拥有它,它实际上可以处理 UTF-8 输入和输出,这样你就可以有正则表达式,你知道,选择日文字符之类的。”
右边为 Brian Kernighan
如今已经 80 岁的 Kernighan 教授在采访中不经意地提到,他还修补了一些问题,比如让 AWK 处理 CSV 文件。
参考链接:
https://arstechnica.com/gadgets/2022/08/unix-legend-who-owes-us-nothing-keeps-fixing-foundational-awk-code/
https://www.theregister.com/2022/08/23/universal_unix_tool_awk_gets/?td=rt-3a
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
今日好文推荐
活动推荐
优秀的开发者应该具备哪些能力?开发者面临当前市场上存在的机遇和挑战该何去何从?这些也是各行业选择人才时关注的热门问题。InfoQ 研究中心邀请你用填写问卷的方式,让我们更加深入了解当前开发者的现状,并且你也将获得一次 100% 中奖的抽奖机会。
扫描下方二维码即可填写,每一份问卷的提交,都会成为报告数据的有力支撑,为中国建设更好的开发者生态添砖加瓦!本次报告预计将于 2022 年 10 月全网正式上线。
继续阅读
阅读原文