AWK

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

AWK

AWK用法详解

linux awk

Linux-AWK

新awk整理

awk编程