设为首页 加入收藏

TOP

awk 程序设计模型
2015-07-16 12:55:34 来源: 作者: 【 】 浏览:3
Tags:awk 程序设计 模型

理解awk提供给程序员的基本模型是很重要的。学习awk比学习其他程序设计语言更容易的部分原因,是由于awk为程序员提供了定义得当且有用的模型。


awk 程序是由所谓的主输入(main input) 循环组成的。一个循环是一个例程,它将一直重复执行直到有一些存在的条件终止它。你不必写这个循环,他是现成的,它作为一个框架存在,在这个框架中你编写的代码能够执行。你所编写的处理操作的代码假设有一个可用的输入行。在其他的程序设计语言中,你必须建立一个主输入循环并将它作为程序的一个组成部分。它必须打开一个输入文件并一次读入一行。在其他的程序设计语言中,你必须建立一个主输入循环并将它作为程序的一个组成部分。它必须打开一个输入文件并一次读入一行。它说明了基本的awk简化操作可以使得编程更容易。


主输入循环执行的次数和输入的行数相同。就像在"Hello,World." 例子中所看到的,这种循环仅当有一个输入时才执行。当没有其他输入行读入是循环将终止。


$ awk 'BEGIN {print "Hello, world"}'
Hello, world
awk允许你编写两个特殊的例程,他们在任何输入被读取前和所有输入都被读取后执行。他们是与BEGIN和END规则相关的过程。换句话说,在主输入循环执行前和主输入循环后你可以做一些处理。BEGIN和END过程是可选的。


你可以把awk脚本看做由3个主要部分组成:处理输入前将做的处理,处理输入过程中将做的处理,处理输入完成后做的处理。对于这3个组成部分,主输入循环或称为"处理过程中将做的处理"是主要的处理部分。在主输入循环中,指令被写成一系列的模式/动作过程。模式是用于测试输入行的规则,以确定动作是否将应用于这些输入行。我们将看到的操作可能很复杂,它由语句、函数和表达式组成。


要记住的主要事情是每个模式/操作过程位于主输入循环中个,且负责读取输入行。所编写的过程将应用于每个输入行,而且一次一行。


--------------------------------------分割线 --------------------------------------


--------------------------------------分割线 --------------------------------------


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇awk模式匹配 下一篇Python类型比较的方式

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: