awk程序的设计语言.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一. AWK入门指南 — AWK程序设计语言 /en/latest/chapter-one.html 一. AWK入门指南 Awk是一种便于使用且表达能力强的程序设计语言,可应用于各种计算和数据处理任务。本章是个入门指南,让你能够尽快地开始编写你自己的程序。 第二章将描述整个语言,而剩下的章节将向你展示如何使用Awk来解决许多不同方面的问题。纵观全书,我们尽量选择了一些对你有用、有趣并且有指 导意义的实例。 1.1 起步 有用的awk程序往往很简短,仅仅一两行。假设你有一个名为 emp.data 的文件,其中包含员工的姓名、薪资(美元/小时)以及小时数,一个员工一行 数据,如下所示: Beth 4.00 0 Dan 3.75 0 kathy 4.00 10 Mark 5.00 20 Mary 5.50 22 Susie 4.25 18 现在你想打印出工作时间超过零小时的员工的姓名和工资(薪资乘以时间)。这种任务对于awk来说就是小菜一碟。输入这个命令行就可以了:: awk $3 0 { print $1, $2 * $3 } emp.data 你应该会得到如下输出: Kathy 40 Mark 100 Mary 121 Susie 76.5 该命令行告诉系统执行引号内的awk程序,从输入文件 emp.data 获取程序所需的数据。引号内的部分是个完整的awk程序,包含单个模式-动作语句。 模式 $30 用于匹配第三列大于0的输入行,动作: { print $1, $2 * $3 } 打印每个匹配行的第一个字段以及第二第三字段的乘积。 如果你想打印出还没工作过的员工的姓名,则输入命令行:: awk $3 0 { print $1 } emp.data 这里,模式 $3 == 0 匹配第三个字段等于0的行,动作: { print $1 } 打印该行的第一个字段。 当你阅读本书时,应该尝试执行与修改示例程序。大多数程序都很简短,所以你能快速理解awk是如何工作的。在Unix系统上,以上两个事务在终端里 看起来是这样的: $ awk ‘$3 0 { print $1, $2 * $3 }’ emp.data Kathy 40 Mark 100 Mary 121 Susie 76.5 $ awk ‘$3 == 0 { print $1 }’ emp.data Beth Dan $ 行首的 $ 是系统提示符,也许在你的机器上不一样。 AWK程序的结构 第1页 共11页 2013/10/14 18:31 一. AWK入门指南 — AWK程序设计语言 /en/latest/chapter-one.html 让我们回头看一下到底发生了什么事情。上述的命令行中,引号之间的部分是awk编程语言写就的程序。本章中的每个awk程序都是一个或多个模式-动 作语句的序列: pattern { action } pattern { action } ... awk的基本操作是一行一行地扫描输入,搜索匹配任意程序中模式的行。词语“匹配” 的准确意义是视具体的模式而言,对

文档评论(0)

东方888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档