awk、mawk、nawk、gawk...什么?

awk、mawk、nawk、gawk...什么?

我刚开始学习 awk,对所有这些版本有点困惑。是否有任何“版本”可以在所有类 Unix 系统上找到?比如,你知道的,普通的 vi?标准 awk 是否支持 -F 选项?

答案1

awk- 最常见的,可以在大多数类 Unix 系统上找到,最老的版本,并且比新版本差。

莫克- 快速 AWK 实现,其代码库基于字节码解释器。

瑙克- 在开发 AWK 语言时,作者发布了一个新版本(因此n-n为避免混淆,请将其重命名为 ew awk。可以将其视为 AWK 的 Python 3.0。

呆呆地- GNU awk 的缩写。开发人员尝试添加 i18n 支持的唯一版本。允许用户编写自己的 C 共享库,以使用自己的“插件”对其进行扩展。此版本是 Linux 的标准实现,原始 AWK 是为 Unix v7 编写的。

还有其他版本如 jawk(java 实现)、bwk(Brian W. Kernighan 的实现)等等。

答案2

您可以直接使用awk。它由 POSIX 定义,因此必须存在于所有符合 POSIX 的系统上。

-F参数是授权也一样。

答案3

awk几乎在每个基于 *NIX 的系统上都会出现,但它所支持的确切细节会略有变化,因为它完全有可能只是符号链接到不同的版本,类似于/bin/sh经常链接到特定 shellbash或其派生版本的方式。(顺便说一下,我也知道很多机器也vi符号链接到了。)vim

答案4

维基百科 AWK 页面是初学 AWK 的一个很好的入门参考
字段分隔符-F据我所知,所有 AWK 变体都支持 选项“ ”。

相关内容