是否有默认安装中没有 awk 的 Unix 版本?

是否有默认安装中没有 awk 的 Unix 版本?

是否有默认情况下未安装 awk 的 Unix 版本?

我对包含一些非常古老的过时的 Unix 变体的答案感到满意,这些变体早于 awk 的创建;但理想情况下更喜欢一些专业的利基剥离嵌入式现代利基,从核心安装的设计中排除 awk。

(提问的动力:有人声称只使用标准 unix 命令行工具 sans 的 SO 答案awk是无用的,因为每个 Unix 都有awk。我很确定最后一部分是错误的,但不记得任何具体的例子,只是它们存在的事实)。

答案1

awk 是的一部分POSIX 和单一 Unix(自从它们存在以来一直如此)。很长一段时间以来,它一直是经典 Unix 的一部分,并且默认安装在每个现代成熟的 Unix 上。

awk 比 Unix 年轻几年,所以显然已经有版本没有 Awk 的 Unix。 awk出现在V7自从 BSD 以来第一个完整版本迷你2有awk;我不确定基于 MINIX 1 的少数系统是否都有它。

今天有没有 Awk 的精简版 unice——大多数是运行 Linux 的嵌入式系统忙碌盒。 BusyBox 确实有一个 awk 命令,但它是可选的,就像 BusyBox 中的几乎所有命令一样。

作为社会学问题,如果有人告诉您他们有“Unix 系统”或“Linux 系统”(或其变体),您可以放心地假设他们有 awk。仅当您被告知他们正在运行古董系统或精简系统时,您才应该担心 awk 的可用性。

答案2

AWK 维基百科页面陈述如下:

摘抄

作为较早出现的工具之一版本 7 Unix,它作为一种向 Unix 添加计算功能的方式而受到欢迎管道 并且除了伯恩外壳是标准 Unix 环境中唯一可用的脚本语言。它是强制性公用事业之一单一 UNIX 规范;所要求的Linux 标准基础规范- 几乎所有其他操作系统都存在 AWK 的实现。

鉴于此,我想说没有一个 UNIX 版本不包含 AWK。

部分实施?

这就是它可能进入灰色地带的地方。像 Busybox 这样的应用程序包含 awk 函数的子集,因此很难确定它是否包含。

例如,查看 Android APK 中包含的内容:

答案3

Solaris“小型服务器”安装没有可用的 POSIX 兼容 Awk。

从技术上讲,这意味着它们不是 POSIX 也不是 UNIX,但您肯定可能希望让您的脚本在这些系统上运行。

如需更多阅读,请参阅:

相关内容