AWK 是一种优良的文本处理工具。它不仅是 Linux 中也是任何环境中现
有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称
得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan
姓氏的首个字母)的最大功能取决于一个人所拥有的知识。 AWK 提供了极
其强大的功能:可以进行样式装入、流控制、数学运算符、进程控制语句
甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有
精美特性。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言, 三位
创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的
程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算
以及生成报表,还有无数其他的功能。
最简单地说, AWK 是一种用于处理文本的编程语言工具。AWK 在很多
方面类似于 shell 编程语言,尽管 AWK 具有完全属于其本身的语法。它的
设计思想来源于 SNOBOL4 、sed 、Marc Rochkind 设计的有效性语言、语言
工具 yacc 和 lex ,当然还从 C 语言中获取了一些优秀的思想。在最初创造
AWK 时,其目的是用于文本处理,并且这种语言的基础是,只要在输入数据
中有模式匹配,就执行一系列指令。该实用工具扫描文件中的每一行,查
找与命令行中所给定内容相匹配的模式。如果发现匹配内容,则进行下一
个编程步骤。如果找不到匹配内容,则继续处理下一行。
尽管操作可能会很复杂,但命令的语法始终是:
awk '{pattern + action}'
其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配
内容时所执行的一系列命令。花括号 ({}) 不需要在程序中始终出现,但它
们用于根据特定的模式对一系列指令进行分组。
gawk 是 AWK 的 GNU 版本。
一般的 UNIX 作业系统,本身即附有 AWK,不同的 UNIX 作业系统所附的
AWK 其版本亦不尽相同,若读者所使用的系统上未附有 AWK,可通过
anonymous ftp 到下列地方取得:
phi.sinica.edu.tw:/pub/gnu
ftp.edu.tw:/UNIX/gnu
prep.ai.mit.edu:/pub/gnu
注 解:一种编程语言,因其模式匹配语法而特别有用,通常用于数据检
索和数据转换。一个 GNU 版本称为 Gawk。
编辑本段 Awk 的调用方式
awk 提供了适应多种需要的不同解决方案,它们是:
一、 awk 命令行,你可以象使用普通 UNIX 命令一样使用 awk,在命令
行中你也可以使用 awk 程序设计语言,虽然 awk 支持多行的录入,但是录
入长长的命令行并保证其正确无误却是一件令人头疼的事,因此,这种方
评论0