我经常看到人们将“awk”称为编程语言。根据我的直觉,我对 awk 的理解是它是用于某些特定任务的工具。
那么为什么有些人会把它称为编程语言呢?
awk
是一种编程语言,它是为特定类型的任务而设计的,这两件事并不相互排斥。很像php
并且javascript
也是编程语言。
工具允许您执行单个任务或一组密切相关的任务,而使用编程语言您可以创建任何计算上可能的工具。
Awk
是图灵完备的语言,将其与工具 grep
进行比较,您有变量、条件(if、else、...)、重复(for、while、..)、函数等。您可以创建一个awk
脚本来执行您可能需要的任何操作,但grep
您只能从文件中提取文本。 Awk
专为基于文本的处理而设计,并且仍然是最好的编程语言之一,但是您可以编写编译器、解释器、网络服务器或任何您想要的东西awk
——但这并不意味着您应该这样做。
尽管 AWK 用于非常受限的领域,但它是图灵完备的,因此通过了测试,有资格成为一种编程语言。
维基百科定义AWK
如下。该AWK
实用程序是一种解释性编程语言,通常用作数据提取和报告工具。但是仍然取决于个人用户是AWK
简单地调用实用程序还是编程语言。但是,如果您认为AWK
这只是一个工具,那么可以就许多所谓的语言(如HTML
,XML
等)的状态提出严肃的问题。还要记住,该语言Perl
深受AWK
.