GoAWK用 Go 编写的 AWK 解释器

联合创作 · 2023-09-27 23:07

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 编写的。
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报