我刚开始学习 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 变体都支持 选项“ ”。