- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第十章awk工具编程
我们在genesis编程中,awk工具会经常用到,awk工具很强大,它不仅可以从一个很大的文本文件中抽取
数据包,还可以进行算术运算、比较运算等等很多功能,应该说awk是一种比较完整的编程语言,本章我
们就一一介绍这个较为强大的工具。
作者:刘才林完成于2008/3月
第1页共13页
第十章awk工具编程
10.1:awk简介:
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一
个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是
linux/unix下的一个强大编程工具。它可以在命令行中使用,但更多是作为脚本来使用。awk的处理
文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并
在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果
没有指定模式,则所有被操作所指定的行都被处理。awk分别代表其作者姓氏的第一个字母。因为它
的作者是三个人,分别是AlfredAho、BrianKernighan、PeterWeinberger。
Awk后来在Linux系统上发展为gawk,在unix系统上发展为nawk,而在genesis2000编程的
windows系统中,我们要应用awk95,它们之间也有一些区别,如果你编写的genesis2000程序要应用
于多个系统,请注意您的awk程序是否能在各个系统中运行,并且定义不同系统为不同的awk,因为
最早的awk很多功能都不能实现。下面的讲解以gawk为主,但我们简称为awk,请大家不要混淆概念。
10.2:awk命令格式和选项:
10.2.1:awk的语法有两种形式:
awk[options]scriptvar=valuefile(s)
awk[options]-fscriptfilevar=valuefile(s)
10.2.2:awk的常用选项:
●–Ffs:使用fs作为输入记录的字符分隔符,如果省略该选项,awk使用环境变量
IFS的值。
●–ffilename:从文件filename中读取awk_scripts。
●–v为awk_script设置变量。
10.3:awk的调用方式:
awk的调用方式可分为三种:
(1):直接写成命令行(在awk程序很短的情况下)
(2):将awk_scripts放入脚本并以#!/bin/awk作为开头,给予它可执行权限,然后执行程
序。
(3):将awk程序插入一个单独脚本文件,然后用:awk–f进行调用。
10.4:模式和动作:
任何awk语句都由模式和动作组成。在一个awk脚本中可能有许多语句。模式部分决定动作语句何
时触发及触发事件,处理即对数据进行的操作,如果省略模式部分,动作将时刻保持执行状态;如果
动作被省略,则缺省的动作被执行,既显示出所有符合模式的输入行而不做任何的改动。
10.4.1:模式:
模式可以是任何条件语句或复合语句或正则表达式。模式包括两个特殊字段BEGIN和END。
使用BEGIN语句设置计数和打印头。BEGIN语句使用在任何文本浏览动作之前,之后文
文档评论(0)