GoAWK

用 Go 编写的 AWK 解释器
授权协议 MIT
开发语言 Google Go
所属分类 程序开发、 脚本编程语言
软件类型 开源软件
地区 不详
投 递 者 濮俊美
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 编写的。
 相关资料
  • 问题内容: 在HACKERRANK中,这行代码非常频繁地出现。我认为这是跳过空格,但那是什么意思 问题答案: Scanner.skip跳过与模式匹配的输入,这里的模式是:- ?精确匹配零或前一个字符。 | 另类 []匹配出现在单个字符 \ r匹配回车符 \ n换行符 \ u2028将字符与索引为2018的基数16(8232的基数10或20050的基数8)区分大小写 \ u2029将字符与索引为20

  • 因为 Go 具有像动态语言那样快速编译的能力,自然而然地就有人会问 Go 语言能否在 REPL(read-eval-print loop)编程环境下实现。Sebastien Binet 已经使用这种环境实现了一个 Go 解释器,你可以在这个页面找到:https://github.com/sbinet/igo。

  • 本文向大家介绍awk 详解。相关面试题,主要包含被问及awk 详解。时的应答技巧和注意事项,需要的朋友参考一下 答案: awk '{pattern + action}' { filenames } #cat /etc/passwd |awk -F ':' '{print 1"t"7}' //-F 的意思是以':'分隔 root /bin/bash daemon /bin/sh 搜索/etc/pas

  • 翻译的结果是什么?它会把高级语言变成汇编语言还是机器语言,即二进制代码? 如果是后者,这是否意味着解释语言与介绍集没有关系? 一种语言只能有一个口译员?是因为解释器不做任何优化,所以我们不需要找到更好的解释器吗?

  • 本文向大家介绍使用Python编写一个最基础的代码解释器的要点解析,包括了使用Python编写一个最基础的代码解释器的要点解析的使用技巧和注意事项,需要的朋友参考一下 一直以来都对编译器和解析器有着很大的兴趣,也很清楚一个编译器的概念和整体的框架,但是对于细节部分却不是很了解。我们编写的程序源代码实际上就是一串字符序列,编译器或者解释器可以直接理解并执行这个字符序列,这看起来实在是太奇妙了。本文会

  • 问题内容: 假设我有一个简单的应用程序,可以从stdin读取行并将其回显到stdout。例如: 我想编写一个测试案例,该案例写入stdin,然后将输出与输入进行比较。例如: 跑步给我以下内容: 我显然在这里做错了什么。我应该如何测试这种类型的代码? 问题答案: 这是一个写入stdin并从stdout读取的示例。请注意,它不起作用,因为输出首先包含“>”。不过,您可以对其进行修改以适合您的需求。