NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 2022-08-24
    北京
  • 本文字数:888 字

    阅读完需:约 3 分钟

现年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

2022-08-24 18:3312331
用户头像
罗燕珊 InfoQ中文站编辑

发布了 426 篇内容, 共 247.8 次阅读, 收获喜欢 760 次。

关注

评论 2 条评论

发布
用户头像
👍
2022-08-28 16:06 · 浙江
回复
用户头像
烈士暮年壮心不已
2022-08-25 08:23 · 浙江
回复
没有更多了
发现更多内容

Go Goroutine

escray

学习 极客时间 Go 语言 4月日更

【提纲】专访融云 CTO 杨攀 | 物联网城池应用和发展

李孟聊AI

调查采访能力考核

SpringBoot极简集成Shiro

Java小咖秀

spring springboot shiro

1W字|40 图|硬核 ES 实战

悟空聊架构

全文检索 elasticsearch elastic springboot 实战

对话声网 Agora 首席科学家钟声 :5G时代到来前景下RTE实时互动技术的应用与发展

麦洛

Java

MySQL 死锁套路:再来看一例走不同索引更新的例子

AI乔治

Java MySQL 架构

Ansible 介绍

耳东@Erdong

4月日更

TikTok安装

箭上有毒

4月日更

混沌工程=可观测性+探索性测试?

混沌工程实践

云原生 可观测性 混沌工程 测试右移 探索性测试

ARTS- Week 7

steve_lee

领域驱动设计 101- 上下文与持续集成

luojiahu

领域驱动设计 DDD

专访声网首席科学家钟声|倾听不一样的“钟声”,声网实时互动服务

程序员架构进阶

28天写作 4月日更 调查采访能力考核 人物访谈

《采访彩食鲜 CTO 乔新亮:IT 团队从 100 到 10000 的管理心得》(采访提纲)

程序员历小冰

调查采访能力考核

浪潮云洲链全面接入“星火·链网”

浪潮云

工业互联网

专家呼吁:保护肾脏,从关注酸性尿开始

E科讯

使用 Amazon SageMaker 特征存放区存储、发现和共享机器学习特性!

亚马逊云科技 (Amazon Web Services)

访谈阿里巴巴安全科学家吴翰清

容光

专访 阿里吴翰清 最新网络安全

模块2的作业

谢博琛

LeetCode题解:145. 二叉树的后序遍历,栈,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

搭载自研处理器 Amazon Graviton2 的 Amazon EC2 X2gd 已全面可用 | 新服务上线

亚马逊云科技 (Amazon Web Services)

芯片设计软件上云新思路!看珂晶达如何高效拓宽市场 | 精选案例

亚马逊云科技 (Amazon Web Services)

重磅更新!运维工程师打怪升级进阶之路 3.0(体系化带你全面从入门到企业实战)

民工哥

Linux 后端 linux运维 运维工程师 linux学习

游戏开发者福音!我们和 TapTap 将为您提供全套的发行服务!

亚马逊云科技 (Amazon Web Services)

行动起来!为迁移到自己的证书颁发机构做好准备!

亚马逊云科技 (Amazon Web Services)

NoCode 实战 | 想要开发在线选课系统?何必那样大费周章!

亚马逊云科技 (Amazon Web Services)

【LeetCode】实现 strStr()Java题解

Albert

算法 LeetCode 4月日更

由 JVM Attach API 看跨进程通信中的信号和 Unix 域套接字

AI乔治

Java 架构 JVM 性能调优

在gitee码云上搭建一个网站

空城机

JavaScript 大前端 gitee 4月日更 搭建网页

我们携手东软集团,助力智能汽车“乘云转型达四海” | 精选案例

亚马逊云科技 (Amazon Web Services)

ElasticSearch 如何使用 TDigest 算法计算亿级数据的百分位数?

程序员历小冰

大数据 elasticsearch 近似算法 TDgigest

玩一玩Tiktok

箭上有毒

4月日更

现年80岁的Unix大神还在修复AWK代码_语言 & 开发_罗燕珊_InfoQ精选文章