写点什么

现年 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:3314246
用户头像
罗燕珊 AI practitioner | Tech media

发布了 585 篇内容, 共 453.4 次阅读, 收获喜欢 873 次。

关注

评论 2 条评论

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

我用开天平台做了一个城市防疫政策查询系统,你不试试?

华为云开发者联盟

开发 华为云 开天aPaaS 开天 城市防疫政策

密码密钥硬编码检查

华为云开发者联盟

安全 后端 密钥

云上解锁Web3.0 阿里云XR平台助力彼真科技呈现沉浸式演唱会

阿里云弹性计算

XR 视觉计算 虚拟演唱会

中车*IoTDB | 构建城市轨道交通车辆智能运维系统,应对日百万人次客流量

Apache IoTDB

静态广播发送流程分析

北洋

android 7月月更

Python图像处理丨图像腐蚀与图像膨胀

华为云开发者联盟

Python 软件 开发 图像处理

赛博女娲,怎么造数字人?

白洞计划

Docsify 配合 Github Pages 搭建一个自己的云笔记

宁在春

GitHub Pages docsify 7月月更

面试前我做了这三件事,结果居然直接....

KEY.L

从全球价值链视角看,京东云数智供应链对未来经济有何影响?

脑极体

上海电信发布公共算力服务,联合华为等伙伴签订“智能算力应用联合创新中心”行动计划

极客天地

Istio的流量管理API

阿泽🧸

7月月更 Istio流量管理

2022-07微软漏洞通告

火绒安全

microsoft 安全 漏洞

Docker入门(一)

神农写代码

用 AnimatedBuilder 分离组件和动画,实现动效复用

岛上码农

flutter ios 安卓 移动端开发 7月月更

阿里云架构师朱波:云上高性能计算加速药物研发

阿里云弹性计算

高性能计算 生命科学 EHPC

【刷题记录】9. 回文数

WangNing

7月月更

超越对齐-企业数字化转型之路

涛哥 数字产品和业务架构

企业架构 数字化转型

成都 Meetup|分布式数据库 企业降本增效新引擎

OceanBase 数据库

数据库 程序员 oceanbase 分布式, 降本增效

AWS CloudTrail

冯亮

云计算 DevOps AWS

新星计划Day6【数据结构与算法】 链表Part2

京与旧铺

7月月更

Java类的特性之内部类

未见花闻

7月月更

Python3详细的数组基础操作-入门必备[列表的操作]

迷彩

数组 Python基础 列表 7月月更

拔掉电源会怎样?GaussDB(for Redis)双活让你有备无患

华为云开发者联盟

数据库 后端

GPU资源池的虚拟化路径

Finovy Cloud

GPU服务器 显卡、gpu

容错、熔断的使用与扩展

神农写代码

老树开花——用ImageProcessor快速搭一个图床应用

为自己带盐

dotnet 7月月更

长安链研究笔记-IOC容器

长安链

金融行业的双模核心

穿过生命散发芬芳

7月月更 双模核心

不要小看WebSocket!长连接、有状态、双向、全双工都是王炸技能

wljslmz

HTTP websocket 7月月更

小程序表单-2

小恺

7月月更

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