讨论:很少有人使用过并且仍在使用的标准 UNIX 实用程序

一周前,UNIX 管道的开发者、“面向组件的编程”概念的创始人 Douglas McIlroy, 我告诉 有关未广泛使用的有趣且不寻常的 UNIX 程序的信息。 该出版物在《黑客新闻》上发起了积极的讨论。 我们收集了最有趣的东西,如果您加入讨论,我们将很高兴。

讨论:很少有人使用过并且仍在使用的标准 UNIX 实用程序
Фото— 弗吉尼亚·约翰逊 — 不飞溅

处理文本

类 UNIX 操作系统有一套标准的文本格式化工具。 公用事业 错字 允许您检查文档中的拼写错误并 半轴 - 材料中仅出现一次的单词。 有趣的是,用于查找拼写错误的程序 不使用 字典。 它仅依赖于文件中的信息,并使用三元组(三个字符的序列)进行频率分析。 在这种情况下,所有必要的计数器 存储 在 26x26x26 数组中。 根据 Douglas McIlroy 的说法,这个内存量仅仅够几个单字节计数器使用。 因此,为了省钱,它们被写成对数形式。

如今,拼写错误已被更现代、更准确的基于字典的拼写检查器所取代。 然而,人们仍然记得这个乐器——几年前的一位爱好者 提交 Go 中拼写错误的实现。 存储库仍在更新中。

另一个处理 80 年代文档的工具是 package 作家的工作台 来自贝尔实验室的 Lorinda Cherry 和 Nina McDonald。 它的组成 包括在内 用于识别词性和文​​档风格、搜索同义反复和不必要的复杂句子的工具。 实用程序是作为学生的辅助工具而开发的,一度它们 美国科罗拉多州立大学的学生。 但到了九十年代初,Writer's Workbench 被遗忘了,因为它没有包含在 Unix 版本 7 中。 然而,这种乐器继续走向模仿者——例如, 语法 适用于 IBM 个人电脑。

UNIX 还提供了标准工具,使公式的处理变得更加容易。 有一个用于格式化数学表达式的语言预处理器 方程。 值得注意的是,要显示公式,开发人员只需用简单的文字和符号来描述它。 关键字允许您垂直和水平移动数学符号,更改其大小和其他参数。 如果您将该行传递给实用程序:

sum from { k = 1 } to N { k sup 2 }

输出将生成以下公式:

讨论:很少有人使用过并且仍在使用的标准 UNIX 实用程序

在 1980 世纪 1990 年代至 XNUMX 年代 eqn 帮助 IT 专家编写软件手册。 但后来被LaTeX系统取代, 使用 甚至哈布尔。 但 eqn 是同类工具中第一个保留为类 UNIX 操作系统一部分的工具。

处理文件

在主题线程中,黑客新闻居民指出了几个很少使用的用于处理文件的实用程序。 其中之一 这是 COMM 来比较它们。 这是一个简化的模拟 差异,专为在脚本中工作而定制。 他的 написал 理查德·斯托曼本人和大卫·麦肯齐。

程序输出由三列组成。 第一列包含第一个文件特有的值,第二列包含第二个文件特有的值。 第三列包括总值。 为了使 comm 正常工作,比较的文档必须按词法排序。 因此,现场的一位居民 предложил 使用以下形式的实用程序:

comm <(sort fileA.txt) <(sort fileB.txt)

Comm 可以方便地用来检查单词的拼写。 将它们与参考词典文档进行比较就足够了。 考虑到与对文件进行排序的需要相关的微妙之处,有 ,Stallman 和 MacKenzie 专门为此用例编写了他们的实用程序。

讨论:很少有人使用过并且仍在使用的标准 UNIX 实用程序
Фото— 马尼克斯·霍根多恩 — 不飞溅

也是 HN 的讨论参与者 他指出, 操作员能力 ,这对他来说并不明显。 它允许您在输出时交错数据流或将一个流分成两列:

$ paste <( echo -e 'foonbar' ) <( echo -e 'baznqux' )
foo     baz
bar     qux
$ echo -e 'foonbarnbaznqux' | paste - -
foo     bar
baz     qux

用户之一 我注意到,通常不是最优化的解决方案用于执行这些简单的操作:从 fmt, ex 并结束 MLR с 小额 и rs.

您发现了类 UNIX 操作系统的哪些标准功能?

我们在公司博客中写的内容:

讨论:很少有人使用过并且仍在使用的标准 UNIX 实用程序 域名系统如何演变:阿帕网时代
讨论:很少有人使用过并且仍在使用的标准 UNIX 实用程序 域名系统的历史:第一个 DNS 服务器
讨论:很少有人使用过并且仍在使用的标准 UNIX 实用程序 DNS 的历史:域名何时开始付费
讨论:很少有人使用过并且仍在使用的标准 UNIX 实用程序 域名系统的历史:协议战争

来源: habr.com

添加评论