现年 80 岁的 Unix 大神还在修复 AWK 代码

2022 年 8 月 25 日 InfoQ

作者 | 罗燕珊

现年 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 官网,获取更多精彩内容!

今日好文推荐

走进代码背后的世界,探索开发者的养成之道

Java 正在卷土重来?别开玩笑了,它明明一直很火

数十位研发发声:研发效能度量,别玩成了一场数字游戏

“华为 30 岁以下员工仅占 28%”上热搜;腾讯二季度净利润腰斩,员工减少超 5500 人;百度网盘回应人工审核用户照片|Q 资讯

活动推荐

优秀的开发者应该具备哪些能力?开发者面临当前市场上存在的机遇和挑战该何去何从?这些也是各行业选择人才时关注的热门问题。InfoQ 研究中心邀请你用填写问卷的方式,让我们更加深入了解当前开发者的现状,并且你也将获得一次 100% 中奖的抽奖机会。

扫描下方二维码即可填写,每一份问卷的提交,都会成为报告数据的有力支撑,为中国建设更好的开发者生态添砖加瓦!本次报告预计将于 2022 年 10 月全网正式上线。

登录查看更多
0

相关内容

UNIX操作系统(UNIX),是美国AT&T公司1971年在PDP-11上运行的操作系统。具有多用户、多任务的特点,支持多种处理器架构,最早由肯·汤普逊(Kenneth Lane Thompson)、丹尼斯·里奇(Dennis MacAlistair Ritchie)和道格拉斯·麦克罗伊于1969年在AT&T的贝尔实验室开发。 现为 Linux、BSD 和 Solaris 等多种符合 POSIX 标准的「Unix 类操作系统」的统称。
【经典书】现代C语言教程,408页pdf手写教你写C代码
专知会员服务
59+阅读 · 2022年8月5日
【2022新书】Python DevOps,245页pdf
专知会员服务
89+阅读 · 2022年7月11日
专知会员服务
53+阅读 · 2021年7月21日
【经典书】Linux UNIX系统编程手册,1554页pdf
专知会员服务
44+阅读 · 2021年2月20日
【干货书】Linux命令行与shell脚本编程大全,第3版818页pdf
专知会员服务
61+阅读 · 2020年12月30日
【2020新书】懒人程序员专用书C++20,681页pdf
专知会员服务
41+阅读 · 2020年12月15日
【经典书】C++编程:从问题分析到程序设计,1491页pdf
专知会员服务
58+阅读 · 2020年8月11日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
Github开发大神教你玩转数据库编程
新智元
0+阅读 · 2022年5月2日
编程大神竟“玩”出了不像 C 的 C 程序
CSDN
0+阅读 · 2022年2月25日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Arxiv
3+阅读 · 2022年11月29日
Arxiv
0+阅读 · 2022年11月29日
RPoA: Redefined Proof of Activity
Arxiv
0+阅读 · 2022年11月29日
Arxiv
0+阅读 · 2022年11月28日
Arxiv
0+阅读 · 2022年11月25日
已删除
Arxiv
31+阅读 · 2020年3月23日
VIP会员
相关VIP内容
【经典书】现代C语言教程,408页pdf手写教你写C代码
专知会员服务
59+阅读 · 2022年8月5日
【2022新书】Python DevOps,245页pdf
专知会员服务
89+阅读 · 2022年7月11日
专知会员服务
53+阅读 · 2021年7月21日
【经典书】Linux UNIX系统编程手册,1554页pdf
专知会员服务
44+阅读 · 2021年2月20日
【干货书】Linux命令行与shell脚本编程大全,第3版818页pdf
专知会员服务
61+阅读 · 2020年12月30日
【2020新书】懒人程序员专用书C++20,681页pdf
专知会员服务
41+阅读 · 2020年12月15日
【经典书】C++编程:从问题分析到程序设计,1491页pdf
专知会员服务
58+阅读 · 2020年8月11日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
相关论文
Arxiv
3+阅读 · 2022年11月29日
Arxiv
0+阅读 · 2022年11月29日
RPoA: Redefined Proof of Activity
Arxiv
0+阅读 · 2022年11月29日
Arxiv
0+阅读 · 2022年11月28日
Arxiv
0+阅读 · 2022年11月25日
已删除
Arxiv
31+阅读 · 2020年3月23日
Top
微信扫码咨询专知VIP会员