不同的awk版本有什么区别?

时间:2016-11-03 19:21:28

标签: linux awk cygwin gawk mawk

我正在通过awk here阅读,但我只是想知道awk版本,因为我之前遇到过不同问题的问题。下面是我的不同版本。据我所知,有awk,mawk和gawk。随着gawk成为最新/更好。 任何人都可以澄清我的假设吗?我的GNU Awk 4.1.1是最新的,最好用的,即它是gawk?关于不同版本的任何其他评论?

env1 - 我的电脑上的cygwin

$ awk -Wversion 2>/dev/null || awk --version
GNU Awk 4.1.1, API: 1.1 (GNU MPFR 3.1.2, GNU MP 6.0.0)
Copyright (C) 1989, 1991-2014 Free Software Foundation.

env2 - 泊坞窗容器

$ awk -Wversion 2>/dev/null || awk --version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

EDIT1

根据评论点击awk,gawk和mawk的标签
gawk(GNU awk的缩写)是awk的免费实现,具有多种有用的扩展 Mawk是AWK编程语言的实现和快速处理器 AWK是一种解释性编程语言,专为文本处理而设计,通常用作数据提取和报告工具。仅当您的问题与使用基于awk或awk的API的编程相关时,才使用此标记。有关使用或排除awk命令行选项故障的问题本身就是偏离主题的。

1 个答案:

答案 0 :(得分:1)

awk 的基本规范将是此处描述的POSIX:http://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html

但是还有其他awk的实现不符合POSIX规范;或者因为他们错过了功能,添加了新功能或者表现不同。

例如,在gawk的这个页面中,您可以从POSIX规范中了解它的不同之处(例如,在某些情况下获得完全POSIX行为--posix选项应在命令行中传递):{{3 }}

你提到 gawk mawk ;但是其他供应商也提供了自己的 awk 实现,如Mac OS X(BSD实现),Oracle Sun Solaris,IBM AIX,HP-UX等。

关于你最好的问题:我想这可能是一种主观反应。

从实际的角度来看,我会简单地使用系统的awk,如果我发现它与我的期望太过限制或不同,我会继续运行gawk。< / p>