Chinaunix首页 | 论坛 | 博客
  • 博客访问: 701212
  • 博文数量: 112
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 1192
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-12 16:46
文章分类

全部博文(112)

文章存档

2009年(4)

2008年(108)

我的朋友

分类: 系统运维

2008-07-03 09:05:13

gawk是一种程序语言,对于资料的处理具有很强的功能,可以使用很短的代码轻易地完成对文本档案做修改、分析、提取和比较等处理。在NS的模拟结果分析中,经常用到gawk来进行数据分析和统计等。命令如下:

       gawk 'program' input-file1 input-file2 ...                                 程序代码较短
       gawk -f program-file input-file1 input-file2...                           程序较长

       gawk程序是由很多的pattern和action所组成的:pattern   {action}。功能是针对文件的每一行搜寻指定的模式(pattern),当一行里有符合指定的模式时,gawk就会在此一行执行指定的动作(action)。

       一些系统变量:RS——记录分割符(默认:\n)    FNR——目前的输入档案已经被读取的记录个数
                         NR——所有输入档案已经被读取的记录个数
                         FS——栏分隔符(默认:空白字符) NF——目前记录有多少个栏位
                         OFS——输出栏位分隔符(初始值:空格) ORS——输出记录分隔符(初始值:\n)

Pattern包括:

       /regular expression/——正则表达式,如exp~/regexp/,exp!~/regexp/

       /expression/——单一表达式,值不为0或字串不空时视为匹配

       pat1,pat2——指定记录的范围

       BEGIN、END——gawk在开始执行或要结束时会分别执行BEGIN或END指定的action

       null——对于每个输入记录皆视为符合Pattern

Action包括:

       Expression——算术运算、比较运算、布尔运算、条件运算等

       控制语句——if、while、do-while、for、break、continue、next(next file)、exit

       内建函数——数值方面的函数(sqrt、exp、log、sin、rand、srand)

                       字串方面的函数(index、length、match、sprintf、sub、gsub、substr、tolower、toupper)

                       输入输出的内建函数(close、system)

        使用者定义的函数

阅读(1613) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~