报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

发布了 520 篇内容, 共 375.6 次阅读, 收获喜欢 839 次。

关注

评论 2 条评论

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

大厂的 SDK 写法,偷学到了!

程序员鱼皮

Java c++ Python 架构 大前端

🚄【Redis 干货领域】让你彻底会使用“Redis中最陌生且最强大的集合”(ZSET)【上部】

码界西柚

redis Zset 9月日更 Redis指令

九阴真经MySQL版:一条查询语句如何执行的

MySQL 数据库 程序员 架构

完美!华为爆出Redis宝典,原来Redis性能可压榨到极致

Java~~~

Java redis 架构 面试 分布式

快速解决运维过程中碰到的难题,就用行云管家!

行云管家

运维 运维人生 IT运维 企业运维

LeetCode题解:897. 递增顺序搜索树,递归,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

携手强化「内容审核」能力,融云与数美科技达成战略合作

融云 RongCloud

音视频 内容安全 融云 即时通讯IM

别问了,我真的不喜欢这个注解!

why技术

Java

揭秘盒马鲜生 Android 短视频秒播优化方案

阿里云CloudImagine

android 音视频 短视频 Video播放器 移动端

叹服!阿里自述SpringCloud微服务:入门+实战+案例

Java~~~

Java spring 架构 面试 Spring Cloud

美团架构师熬夜整理:Netty权威指南2.0版+英雄传说项目

Java~~~

Java 架构 面试 Netty 架构师

阿里一面 五问 @Transactional

skow

Java Spring Boot 后端

合规安全大考核:移动应用安全策略全盘点

蚂蚁集团移动开发平台 mPaaS

RPC 移动开发 mPaaS 隐私安全 加固

膜拜!首次公布Java10W字面经,Github访问量破百万

Java~~~

Java 架构 面试 微服务 多线程

牛掰!阿里人用7部分讲明白百亿级高并发系统(全彩版小册开源)

Java~~~

Java 架构 面试 多线程 高并发

回款金额自动分配

明道云

限时!字节Java程序性能优化宝典开源,原来这才叫性能优化

Java~~~

Java 架构 面试 JVM 性能调优

uniswap市值管理机器人系统开发

华云大咖说 | 业务转型中的IT云化服务——安超云基座方案介绍

华云数据

这个夏天,这群大学生奔波在盐场里忙啥?

科技热闻

Swap市值管理机器人系统软件开发资料

云上数据不安全主要原因是什么?保障云上数据安全用什么软件好?

行云管家

云计算 数据安全 企业上云 云数据

NDK的C++ 库支持

Changing Lin

9月日更

测试用例编写方法

与风逐梦

细节爆炸!腾讯用13个案例实战讲明白MySQL,没想到这么全

Java~~~

Java MySQL 数据库 架构 面试

netty系列之:搭建HTTP上传文件服务器

程序那些事

Java Netty HTTP 文件服务器 程序那些事

顶级!13位专家力荐Spring5为企业级开发提供一站式方案

Java~~~

Java spring 架构 面试 Spring Boot

PancakeSwap市值管理机器人APP系统开发价格

进大厂为何要学Zookeeper?

冰河

zookeeper 分布式 一致性 服务注册与发现 协同系统

直播预告|如何通过“智能边缘安全”提升企业免疫力?

京东科技开发者

https 云安全 CDN加速 网站反爬 网站建设

限量!腾讯高工用4部分讲清楚了Spring全家桶+微服务

Java~~~

Java spring 架构 面试 微服务

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