写点什么

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

发布了 543 篇内容, 共 412.1 次阅读, 收获喜欢 853 次。

关注

评论 2 条评论

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

使用Docker实现KWDB数据库的快速部署与配置

KaiwuDB

快递行业实现RFID技术自动化分拣解决方案

斯科信息

RFID 快递RFID自动化分拣 RFID分拣

CAD图纸定位双神器:测坐标防偏移,测立面拒返工!

在路上

cad

4S店看过来:斯科提出基于RFID技术的维修工器具智能化管理解决方案

斯科信息

RFID解决方案 RFID工具库房

PatterNodes 3 for Mac(矢量图形模式创建软件)

晨光熹微

KWDB容器化部署与性能测试

KaiwuDB

CodeBuddy IDE震撼来袭:让开发更高效的全新工具,前沿内测大揭秘!

VyrnSynx

腾讯云代码助手 CodeBuddyIDE AI产设研一体

Acrobat Pro DC 2023 for mac(专业PDF编辑软件)

晨光熹微

CTF竞赛在网络安全招聘中的价值与争议

qife122

CTF 职业发展

容器技术与AI双向赋能:应用开发范式的效能跃迁与架构重构

xuyinyin

洪定坤:我与 TRAE 合作的第一个开源项目,欢迎下载

火山引擎开发者社区

字节跳动

MyEMS 在行业中的应用与优势剖析

开源能源管理系统

开源 能源管理

Airweave - 让AI代理搜索任何应用的统一知识平台

qife122

AI代理 搜索技术

能源管理升级之道:ISO 50001 标准解析与 MyEMS 系统实践

开源能源管理系统

开源 能源管理 ISO 50001

充电宝频频“爆雷”,你的生产追溯系统需要一场“极速”革命

镜舟科技

数据库 数据分析 数据处理 StarRocks 湖仓一体

AlphaGPT通过国家AIGC生成式算法备案,为法律专业人士提供更加合规可靠的ai技术支持

科技汇

TypeScript结构化类型初探

电子尖叫食人鱼

typescript

Serato DJ Pro Suite for Mac(专业DJ设备)

晨光熹微

火山引擎Data Agent全面上线!以企业级数据智能体,重构数据应用范式

火山引擎开发者社区

火山引擎

2025 DePIN报告

PowerVerse

小程序热更新:驱动App无感迭代的“空中引擎”技术范式

xuyinyin

梦彻底醒了

王中阳Go

大学生 秋招

Agentic Data时代:让数据主动思考,驱动业务增长

火山引擎开发者社区

火山引擎

一颗荔枝50万,如何做成一个大项目?

禅道项目管理

项目管理 敏捷开发 需求管理 禅道项目管理软件 WBS

黑龙江等保测评注意事项

等保测评

自然语言转SQL再突破!腾讯云TCDataAgent斩获国际榜单全球第三、国内第一

极客天地

等保测评在哈尔滨:筑牢网络安全基石的实践探索

等保测评

轻松上手|TRAE + DeepSeek 打造 AI 排版智能体

火山引擎开发者社区

Trae

MyEMS:开启能源管理新时代​

开源能源管理系统

借助HarmonyOS SDK,《NBA巅峰对决》实现“分钟级启动”到“秒级进场”

HarmonyOS SDK

HarmonyOS HarmonyOS NEXT HarmonyOS SDK应用服务

CAD编号如何自动递增?两种神技,效率拉满!

在路上

cad cad看图 CAD看图王

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