标签:awk
本章你要掌握的内容如下:1 awk的介绍
2 awk的基本用法
3 awk的变量
4 awk的格式化
5 awk的操作符
6 awk条件判断
7 awk的循坏
8 awk的数组
9 awk的函数
10 调用系统命令
1 awk的介绍:
大家最早听说awk的应该是在文本三剑客当中,那就是grep、sed、awk。但是awk可以说是里面最厉害的了,有人说你的linux学的有多麽的好,在awk当中都可以满足你,因为awk它是一门编程语言,它主要用于对文本和数据的扫描与处理,可以生成报告生成器,文本处理的格式化输出。awk有很多种版本,如:awk、nawk、mawk、gawk、MKS awk、take.. 这其中有开源产品也有商业产品。
1.1awk的工作原理:
awk 'BEGIN{commands} pattern {commands} END{commands}'
第一步:执行BEGIN{commands}语句块中的语句;
第二步:从文件或标准输入(stain)读取一行,然后执行pattern{commands}语句块,它逐行扫描,从第一行到最后一行重复这个过程,知道文件被完全读取。
第三步:当读到输入流末尾时,执行END{commands}语句块。
解释说明:
BEGIN语句块在awk开始从输入流中读取之前被执行,这是一个可选的语句块,比如变量初始化、打印输出表格的表头等语句通常可以写在BEGIN语句块中。
pattern语句块中的通用命令时最重要的部分,它也是可选的,如果没有提供pattern语句块,则是默认执行{print}。既打印每一个读取到的行,awk读取的每一行都会被执行该语句块。
END语句块在awk从输入流中读取完所有的行之后就被执行,比如打印所有行的 分析结果这类信息汇总都是在END语句块中完成,他也是一个可选的语句块。
1.2awk的基本结构:awk 'BEGIN{print "start"} pattern{commands} END{print "end"}'file
一个awk通常有BEGIN语句块、能够使用模式匹配的通用语句块、END语句块三部分组成,这三个部分是可选的。任意一个部分都可以不出现在脚本中。
1.3 awk的模式和操作:awk脚本是由模式和操作组成的。那什么是模式那,下面这些都是:
1 /正则表达式/:使用通配符的扩展集。
2 关系表达式:使用运算符进行操作,可以是字符串或数字的比较测试。
3模式匹配表达式:用运算符~表示匹配和!~表示不匹配。
4 BEGIN语句块、pattern语句块、END语句块:
操作由一个或多个命令、函数、表达式组成,有如下这些:
1 变量和数组赋值
2 输出命令
3 内置函数
4控制流语句
标签:awk
原文地址:http://blog.51cto.com/13570192/2093298