GoAWK用 Go 编写的 AWK 解释器
GoAWK 是一个用 Go 编写的符合 POSIX 标准的 AWK 解释器。
AWK 是一种文本处理语言,GoAWK 作者受《AWK 编程语言》这本书启发,用 Go 为它编写了一个解释器。目前,其功能已经完善,并经过了"the one true AWK"测试套件的测试。
GoAWK 的目的是使其符合 awk 的行为和 POSIX AWK 规范。
和 AWK 相比,GoAWK 的优点在于:
- 它可以嵌入到你的 Go 程序中,你甚至可以在 AWK 脚本中调用自定义 Go 函数。
- 与 I/O 绑定的 AWK 脚本(也就是大多数)比 awk 快得多,与 gawk 和 mawk 相当。
- 解析器除了支持
'single-quoted strings'
外,还支持"double-quoted strings"
,这主要是为了使 Windows 单行文字更容易理解(Windows cmd.exe shell 使用"
作为引号字符)。
AWK 的优点在于:
- CPU-bound AWK 脚本比 awk 稍慢,大约是 gawk 和 mawk 的两倍。
- AWK 是由 Brian Kernighan 编写的。
评论