awk语言的演变、扩展与gawk安装指南
1. SVR4与POSIX awk的变化
1992年的POSIX命令语言和实用工具标准为awk语言带来了一系列变化:
- 使用 -W 来设置特定于实现的选项。
- 利用 CONVFMT 控制数字到字符串的转换。
- 引入了数字字符串的概念,并制定了更严格的比较规则。
- 禁止将预定义变量用作函数参数名。
- 对许多之前未文档化的功能进行了更完整的文档记录。
2012年,一些多年来常用的扩展最终被添加到POSIX标准中,包括:
- fflush() 内置函数,用于刷新缓冲输出。
- nextfile 语句。
- 可以使用 ‘delete array’ 一次性删除整个数组。
2008年的POSIX标准可在 此处 在线查看。
2. Brian Kernighan的awk扩展
Brian Kernighan通过其主页发布了他的awk版本,其中包含以下常见扩展:
- ‘’ 和 ‘=’ 运算符。
- 使用 func 作为 function 的缩写。
- fflush() 内置函数,用于刷新缓冲输出。
3. gawk相对于POSIX awk的扩展
GNU实现的gawk添加了大量功能,可通过 –traditional 或 –posix 选项禁用这些扩展。当前版本的