没有合适的资源?快使用搜索试试~ 我知道了~
GAWK入门.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 186 浏览量
2023-02-27
21:10:49
上传
评论
收藏 840KB PDF 举报
温馨提示
试读
24页
。
资源推荐
资源详情
资源评论
GAWK 入门:AWK 语言基础
利用
GAWK
的开放源代码实现学习
AWK
了解 AWK 文本处理和模式扫描语言的基本概念。本教程将带您开始使用 AWK 进行编程:您将了解 AWK
如何读取输入数据和对其进行排序、如何运行 AWK 程序、操作数据并进行复杂的模式匹配。当您完成本教
程的学习时,同时也了解了 GNU AWK (GAWK)。
开始之前
了解本教程中介绍的内容、如何最好地利用它以及在学习本教程的过程中需要完成哪些工作。
关于本教程
GNU AWK (GAWK) 是历史悠久的 AWK 编程语言的开放源代码实现,可用于所有的 UNIX® 系统。AWK
语言是一种 UNIX 备用工具,它是一种功能强大的文本操作和模式匹配语言,特别适用于进行信息检索,这
使得它非常适合用于当今的数据库驱动的应用程序。因为它集成于 UNIX 环境,所以可以设计、构建和快速
地执行完整的工作程序,并且立即就能得到结果。
本教程为 AWK 文本处理语言提供了实践性的介绍。它介绍了如何使用开放源代码 GAWK 解释器来编写和
执行 AWK 程序,以便通过各种方式来搜索和操作数据。
目标
本教程面向那些需要利用 AWK 强大的文本操作功能的读者。在本教程中,您将使用 GAWK,以了解各种
运行 AWK 程序的方法。您还将了解如何组织程序,并学习 AWK 的记录和字段范例。在完成本教程后,
您可以学习到该语言的基本内容,包括格式化输出、记录和字段操作以及模式匹配。您还应该能够编写自定
义的 AWK 程序,以使用 UNIX 命令行执行复杂的文本处理。
先决条件
本教程没有特殊的先决条件,不过您应该熟悉 UNIX 命令行 Shell 的使用。如果您对 C 编程语言的构造比
较熟悉,那么将会很有帮助,但这并不是必需的。
系统要求
您必须在系统中安装 GAWK 的工作副本,最好是 Version 3.0 或更高版本。很容易获得 GAWK 的源代码
和二进制包。如果您使用源代码安装 GAWK,请参考 GAWK 源代码分发版中的 README 文件,其中列
出了进行成功的编译和安装所需的任何附加软件。
准备好开始使用 GAWK
了解 AWK 编程语言以及不同实现之间的差异,并准备好安装 GAWK,以便可以开始进行编程。
AWK 语言
AWK 是该编程语言本身的名称,它编写于 1977 年。其名称是三个主要作者的姓的首字母缩写:Drs. A. Aho、
P. Weinberger 和 B. Kernighan。
因为 AWK 是一种文本处理和模式匹配语言,所以它通常称为
数据驱动的
语言,程序语句描述需要进行匹
配和处理的输入数据,而不是程序操作步骤的序列,在许多语言中都是这样的。 AWK 程序在其输入数据中
搜索包含模式的记录、对该记录执行指定的操作,直到程序到达输入的末尾。 AWK 程序擅长于处理数据库
和表型数据,如从多个数据集中提取一些列、建立报表或分析数据。事实上, AWK 适合于编写短小的、一
次性程序,以执行一些灵活的文本处理,而使用其他的语言则可能成本较高。另外,作为一种
功能强大的工
具
,AWK 常常在命令行中使用或与管道一起使用。
与 Perl(它起源于 AWK)一样,AWK 是一种解释性语言,所以 AWK 程序通常不需要进行编译。相反,
在运行时将程序脚本传递给 AWK 解释器。
AWK 输入语言使用类似 C 语言的语法,这使得系统编程人员感觉到非常的方便。事实上,其中许多特性,
包括控制语句和字符串函数,如 printf 和 sprintf,基本上是相同的。然而,也存在着一些差异。
AWK 的不同版本
在 20 世纪 80 年代中期,对 AWK 语言进行了更新,并不同程度地使用一种称为 NAWK (New AWK) 的增
强版本对其进行了替换。许多系统中仍然存在着旧的 AWK 解释器,但通常将其安装为 oawk (Old AWK) 命
令,而 NAWK 解释器则安装为主要的 awk 命令,也可以使用 nawk 命令。Dr. Kernighan 仍然在对 NAWK
进行维护,与 GAWK 一样,它也是开放源代码的,并且可以免费获得。
GAWK 是 GNU Project 的 AWK 解释器的开放源代码实现。尽管早期的 GAWK 发行版是旧的 AWK 的替
代程序,但不断地对其进行了更新,以包含 NAWK 的特性。
在本教程中,AWK 始终表示引用通用的语言,而 GAWK 或 NAWK 实现所特有的特性则使用它们的名称
进行引用。
GAWK 的特性和优点
GAWK 具有下列独特的特性和优点:
在所有主要的 UNIX 平台以及其他操作系统中都可以使用它,包括 Mac OS X 和 Microsoft®
Windows®。
它是可移植操作系统接口 (POSIX) 兼容的,并且包含 1992 POSIX 标准中的所有特性。
它没有预定义的内存限制。
可以使用一些新的内置函数和变量。
它包含一些特殊的 regexp 操作符。
记录分隔符中可以包含 regexp 操作符。
可以使用特殊文件支持来访问标准的 UNIX 流。
可以使用 Lint 检查。
在缺省情况下,它使用扩展的正则表达式。
它支持无限制的行长度和连续使用反斜杠字符 (\)。
它具有更好的、更具描述性的错误消息。
它包含一些 TCP/IP 网络函数。
检查版本
在安装了 GAWK 之后,首先您必须确定本地副本放在什么地方。大多数系统使用 GAWK 作为它们主要的
AWK 安装,比如将 /usr/bin/awk 作为 /usr/bin/gawk 的符号链接,这样一来,awk 就成了 GAWK 解释器命
令的名称。本教程采取了这种安装方式。在有些系统中,已经安装了其他版本的 AWK 或者具有高优先级,
那么您可能需要使用 gawk 来调用 GAWK。
如果输入 awk 命令并得到 GNU 使用方法屏幕,如清单 1 所示,那么您将了解到是否正确地安装了所有的
内容。大多数版本的 AWK 不会返回任何内容。
清单 1. 将 GAWK 安装为 awk
$ awk
Usage: gawk [POSIX or GNU style options] -f progfile [--] file ...
Usage: gawk [POSIX or GNU style options] [--] 'program' file ...
POSIX options: GNU long options:
-f progfile --file=progfile
-F fs --field-separator=fs
-v var=val --assign=var=val
-m[fr] val
-W compat --compat
-W copyleft --copyleft
-W copyright --copyright
-W dump-variables[=file] --dump-variables[=file]
-W gen-po --gen-po
-W help --help
-W lint[=fatal] --lint[=fatal]
-W lint-old --lint-old
-W non-decimal-data --non-decimal-data
-W profile[=file] --profile[=file]
-W posix --posix
-W re-interval --re-interval
-W source=program-text --source=program-text
-W traditional --traditional
-W usage --usage
-W version --version
To report bugs, see node `Bugs' in `gawk.info', which is
section `Reporting Problems and Bugs' in the printed version.
正如您所看到的,GAWK 接受 GNU 的标准选项,以获得版本信息。所得到的输出,包括自由软件基金会
关于 GAWK 的许可和缺少担保的公告,它应该与清单 2 所示类似。
清单 2. 显示 GAWK 的版本
$ gawk --version
剩余23页未读,继续阅读
资源评论
G11176593
- 粉丝: 6702
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功