a w k是一种程序语言,对文档资料的处理具有很强的功能。awk 名称是由它三个最初设计 者的姓氏的第一个字母而命名的: Alfred V. Aho、Peter J. We i n b e rg e r、Brian W. Kernighan。 a w k最初在1 9 7 7年完成。1 9 8 5年发表了一个新版本的a w k,它的功能比旧版本增强了不少。a w k 能够用很短的程序对文档里的资料做修改、比较、提取、打印等处理。如果使用C 或P a s c a l 等语言编写程序完成上述的任务会十分不方便而且很花费时间,所写的程序也会很大。 a w k不仅仅是一个编程语言,它还是L i n u x系统管理员和程序员的一个不可缺少的工具。 a w k语言本身十分好学,易于掌握,并且特别的灵活。 gawk 是G N U计划下所做的a w k,gawk 最初在1 9 8 6年完成,之后不断地被改进、更新。 gawk 包含awk 的所有功能。 6.1 gawk的主要功能 gawk 的主要功能是针对文件的每一行( l i n e ),也就是每一条记录,搜寻指定的格式。当某 一行符合指定的格式时,gawk 就会在此行执行被指定的动作。gawk 依此方式自动处理输入文 件的每一行直到输入文件档案结束。 g a w k经常用在如下的几个方面: • 根据要求选择文件的某几行,几列或部分字段以供显示输出。 • 分析文档中的某一个字出现的频率、位置等。 • 根据某一个文档的信息准备格式化输出。 • 以一个功能十分强大的方式过滤输出文档。 • 根据文档中的数值进行计算。 6.2 如何执行gawk程序 基本上有两种方法可以执行g a w k程序。 如果gawk 程序很短,则可以将gawk 直接写在命令行,如下所示: gawk 'program' input-file1 input-file2 ... 其中program 包括一些pattern 和a c t i o n。 如果gawk 程序较长,较为方便的做法是将gawk 程序存在一个文件中, gawk 的格式如下所示: gawk -f program-file input-file1 input-file2 ... gawk 程序的文件不止一个时,执行gawk 的格式如下所示: gawk -f program-file1 -f program-file2 ... input-file1 input-file2 ... 6.3 文件、记录和字段 一般情况下,g a w k可以处理文件中的数值数据,但也可以处理字符串信息。如果数据没有 存储在文件中,可以通过管道命令和其他的重定向方法给g a w k提供输入。当然, g a w k只能处 理文本文件(A S C I I码文件)。 |