Shell编程第二讲.pptVIP

  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编程的使用 本章目标 1.awk编程的作用 2.awk的模式 3.awk的动作 4.awk的运算符 5.awk的内建函数 6.awk的内建变量 7.awk与正则的配合使用 awk编程语言的特点 1.使用直译器(Interpreter)不需先行编译 2.变量无类型之分(Typeless) 3.可使用文字当数组的下标(Associative Array) 4. awk撰写程序比起使用其它语言更简洁便利且节省时间 5. awk还具有一些内建变量和函数 6. awk擅于处理具数据行(Record), 字段(Field)型态的资料 7. awk内建有pipe的功能,可以传送到shell进行加工处理 8. awk的数据行 数据行: awk从数据文件上读取数据的基本单位.以上列文件emp.dat为例, awk读入的 第一笔数据行是 A125 Jenny 100 210 第二笔数据行是 A341 Dan 110 215 一般而言, 一个 数据行 就相当于数据文件上的一行资料 awk的数据列 字段(Field) : 为数据行上被分隔开的子字符串. 以数据行A125 Jenny 100 210为例, 第一栏 第二栏 第三栏 第四栏 A125 Jenny 100 210 一般是以空格符来分隔相邻的字段. awk程序的主要结构 awk程序的主要结构: awk程序中主要语法是 Pattern { Actions}, 故常见之awk 程序其型态如下 : Pattern1 { Actions1 } Pattern2 { Actions2 } ...... Pattern3 { Actions3 } pattern是什么? awk 可接受许多不同型态的 Pattern. 一般常使用 关系表达式(Relational expression) 来当成 Pattern. 例如: x 34 是一个Pattern, 判断变量 x 与 34 是否存在大于的关系. x == y 是一个Pattern, 判断变量 x 与变量 y 是否存在等于的关系. 上式中 x 34 , x == y 便是典型的Pattern. awk 提供 C 语言中常见的关系运算符(Relational Operators) 如 , , =, =, ==, != 此外, awk 还提供 ~ (match) 及 !~(not match) 二个关系运算符 action是什么? Actions 是由许多awk指令构成. 而awk的指令与 C 语言中的指令十分类似. 例如 : awk的 I/O指令 : print, printf( ), getline... awk的 流程控制指令 : if(...){..} else{..}, while(...){...}... awk 如何处理 Pattern { Actions } ? awk 会先判断(Evaluate) 该 Pattern 的值, 若 Pattern 判断后的值为true (或不为0的数字,或不是空的字符串), 则 awk将执行该 Pattern 所对应的 Actions.反之, 若 Pattern 之值不为 true, 则awk将不执行该 Pattern所对应的 Actions. 特殊的patten之BEGIN BEGIN 为 awk 的保留字, 是一种特殊的 Pattern. BEGIN 成立(其值为true)的时机是: awk 程序一开始执行, 尚未读取任何数据之前. 所以在 BEGIN { Actions } 语法中, 其 Actions 部份仅于程序一开始执行时被执行一次. 当 awk 从数据文件读入数据行后, BEGIN 便不再成立, 故不论有多少数据行, 该 Actions 部份仅被执行一次 特殊的patten之END END 为 awk 的保留字, 是另一种特殊的 Pattern. END 成立(其值为true)的时机与 BEGIN 恰好相反, 为:awk 处理完所有数据, 即将离开程序时平常读入数据行时, END并不成立, 故其对应的 Actions 并不被执行; 唯有当awk读完所有数据时, 该 Actions 才会被执行 注意 : 不管数据行有多少笔, 该 Actions 仅被执行一次 awk的运算符 awk 中的数学运算符 +(加), -(減), *(乘), /(除), %(求余数), ^(指数) awk 中的赋值运算符 =, +=, -=, *= , /=, %=, ^= awk 中的逻辑运算符 ( and ), ||(or), !(not) awk 中的关系运算符 , =, , =, ==, !=, ~, !~ awk 中其它

文档评论(0)

飞扬的岁月 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档