PPTLinux Shell编程从初学到精通ch04下_第1页
PPTLinux Shell编程从初学到精通ch04下_第2页
PPTLinux Shell编程从初学到精通ch04下_第3页
PPTLinux Shell编程从初学到精通ch04下_第4页
PPTLinux Shell编程从初学到精通ch04下_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4章sed命令和awk编程(下),南京财经大学江苏省电子商务重点实验室伍之昂王有权,提纲,sed命令awk编程awk基本用法awk记录和域awk关系、布尔运算符、表达式awk系统变量awk格式化输出awk内置字符串函数awk条件语句和循环语句awk数组,awk基本用法(1),下图展示的awk编程模型是理解awk的基础,awk基本用法(2),调用awk有三种方法(与sed类似):在Shell命令行输入命令调用awk,格式为:awk-F域分隔符awk程序段输入文件将awk程序段插入脚本文件后,然后通过awk命令调用它:awk-fawk脚本文件输入文件将awk命令插入脚本文件后,最常用的方法是设置

2、该脚本文件为可执行,然后直接执行该脚本文件,格式为:./awk脚本文件输入文件第二种方法脚本文件的首行不以#!/bin/awkf开头;第三种方法脚本文件的首行是#!/bin/awkf推荐使用第一种方法和第三种方法,awk记录和域(1),awk认为输入文件是结构化的,awk将每个输入文件行定义为记录,行中的每个字符串定义为域,域之间用空格、Tab键或其他符号进行分割,分割域的符号就叫分隔符,awk记录和域(2),sturecord文件内容例4-37awk改变域分隔符有两种方法-F选项例4-39FS变量例4-40,awk关系、布尔运算符、表达式(1),awk关系、布尔运算符、表达式(2),与其他编

3、程语言一样,awk表达式用于存储、操作和获取数据,一个awk表达式可由数值、字符常量、变量、操作符、函数和正则表达式自由组合而成变量是一个值的标识符,定义awk变量非常方便,只需定义一个变量名并将值赋给它即可。变量名只能包含字母、数字和下划线,而且不能以数字开头,awk关系、布尔运算符、表达式(3),在Fedora11系统下演示下面几例:例4-42例4-44例4-45例4-47,awk系统变量,awk定义了很多内建变量用于设置环境信息,我们称它们为系统变量,这些系统变量可分为两种:第1种用于改变awk的缺省值,如域分隔符;第2种用于定义系统值,在处理文本时可以读取这些系统值,如记录中的域数量、

4、当前记录数、当前文件名等,awk动态改变第2种系统变量的值例4-48,awk格式化输出,awk的一大主要功能是产生报表,报表就要求按照预定的格式输出,awk借鉴C语言的语法,定义了printf输出语句,它可以规定输出的格式。printf的基本语法如下:printf(格式控制符,参数)格式控制符分为awk修饰符和格式符例4-49例4-50,awk内置字符串函数(1),awk内置字符串函数极为强大,是Shell处理字符串的常用工具,awk内置字符串函数(2),在Fedora11系统下演示下面几例:例4-53例4-54例4-56,awk条件语句和循环语句(1),awk条件语句和循环语句与C语言的语法

5、完全一样if(条件表达式)动作1else动作2while(条件表达式)动作,awk条件语句和循环语句(2),do动作while(条件表达式)for(设置计数器初值;测试计数器;计数器变化)动作,awk数组(1),数组是用于存储一系列值的变量,这些值之间通常是有联系的,可通过索引来访问数组的值,索引需要用中括号括起,数组的基本格式为:arrayindex=value关联数组是指数组的索引可以是字符串,也可以是数字关联数组在索引和数组元素值之间建立起关联,对每一个数组元素,awk自动维护了一对值:索引和数组元素值关联数组的值无需以连续的地址进行存储,awk的所有数组都是关联数组字符串和数字之间的差

6、别是明显的,如,我们使用array09指定一个数组值,如果换成array9就不能指定到与array09相同的值例4-60,awk数组(2),split(r,s,t)函数将字符串以t为分隔符,将r字符串拆分为字符串数组,并存放在s中,此时s通常就是一个数组例4-62awkBEGINprintsplit(abc/def/xyz,str,/)上面命令以“/”为分隔符,将字符串abc/def/xyz分开,并存在str数组中,split函数的返回值是数组的大小awk可使用for循环打印数组内容for(variableinarray)dosomethingwitharrayvariable,awk数组(3),ARGC是ARGV数组中元素的个数,与C语言一样,从ARGV0开始,到ARGVARGC-1结束例4-64

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论