- 1
- 0
- 约 32页
- 2017-05-30 发布于北京
- 举报
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 中其它
您可能关注的文档
最近下载
- 世界著名谈判案例.docx VIP
- 2025《延安延长石油集团财务共享中心实施效果分析的案例报告》8200字.doc VIP
- 2025人教版音乐一年级下册全册教学设计教案.pdf
- SYT 5216-2017 石油天然气工业 钻井和采油设备 钻井取心工具.docx VIP
- SYT 5069-2017 石油天然气工业 钻井和采油设备 管柱类落物打捞工具.docx VIP
- WF-007A多功能自动氩弧填丝机使用说明书7.pdf VIP
- SYT 5496-2017 石油天然气工业 钻井和采油设备 震击器及加速器.pdf VIP
- 2025年烟花爆竹经营企业(包括批发和零售企业)安全检查表.pdf VIP
- 2025至2030药用真菌行业调研及市场前景预测评估报告.docx VIP
- SYT 5382-2009 钻井液固相含量测定仪.docx VIP
原创力文档

文档评论(0)