AWK 

AWK
编程范型脚本过程式数据驱动[1][2]
設計者阿尔佛雷德·艾侯彼得·溫伯格以及布萊恩·柯林漢
发行时间1977年
当前版本
  • IEEE Std 1003.1-2008
編輯維基數據鏈接
型態系統无;支持字符串,整数和浮点数,以及正则表达式
操作系统跨平台
網站cm.bell-labs.com/cm/cs/awkbook/index.html
主要實作產品
awk, GNU Awk, mawk, nawk, MKS AWK, Thompson AWK(编译器), Awka(编译器)
衍生副語言
old awk oawk 1977, new awk nawk 1985, GNU Awk gawk
啟發語言
C, Sed, SNOBOL[1][2]
影響語言
Tcl, AMPL, Perl
預覽警告:页面使用了Template:Infobox programming language不存在的参数"latest_release_version"

AWK是一种优良的文本处理工具,LinuxUnix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯彼得·溫伯格布萊恩·柯林漢姓氏的首个字母)的最大功能取决于一个人所拥有的知识。AWK提供了极其强大的功能:可以进行正则表达式的匹配,样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上AWK的确拥有自己的语言:AWK程序设计语言,三位创建者已将它正式定义为“样式扫描和处理语言”。它允许创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。gawk是AWK的GNU版本。

最简单地说,AWK是一种用于处理文本的编程语言工具。AWK在很多方面类似于Unix shell编程语言,尽管AWK具有完全属于其本身的语法。它的设计思想来源于SNOBOL4sed、Marc Rochkind设计的有效性语言、语言工具yacclex,当然还从C语言中获取了一些优秀的思想。在最初创造AWK时,其目的是用于文本处理,并且这种语言的基础是,只要在输入数据中有模式匹配,就执行一系列指令。该实用工具扫描文件中的每一行,查找与命令行中所给定内容相匹配的模式。如果发现匹配内容,则进行下一个编程步骤。如果找不到匹配内容,则继续处理下一行。

  1. ^ 1.0 1.1 Andreas J. Pilavakis. UNIX Workshop. Macmillan International Higher Education. 1989: 196. 
  2. ^ 2.0 2.1 Arnold Robbins. Effective Awk Programming: Universal Text Processing and Pattern Matching 4th. O'Reilly Media. 2015: 560. 



取材自維基百科 - 中文時事百科