一 连续执行:
(1)连续执行:一个语句一行或多个语句用";"分隔的方式,提供一连串语句列表。
(2)使用:
1.在单行程序中通常使用分号形式。
2.文件提供的通常采用一个语句一行的形式。
二 条件式执行(与C语言一样):
(1)形式:
*if(expression) statement
*if(expression) statement else statement
*if(expression) statement else if(expression) statement else statement
三 循环执行:
(1)while循环:
*while(expression) statement
(2)do ... while:
*do statement while(expression)
(3)for:(awk不支持逗号,所以无法以","作为表达式列表的分隔)
*for(expr1;expr2;expr3) statement
*for (key in array) statement:反复处理数组里的元组,用在元素数量未知或未形成可运算的整数序列时。
(4)break语句:退出最内部的循环。
(5)continue语句:跳到循环体的结尾,准备执行下一个重复。
四 数组成员的测试:
(1)成员测试:
*key in array是一个表达式:如果key为array的一个索引元素,则计算为1.
*可通过!来否定。如:!key in array。
*成员测试不创建元素。
(2)引用元素:如果元素不存在,则创建它。
(3)例如:
*if("lyr" in array) print "lyr in the array":不存在时不创建数组元素。
*if(array["lyr"]!="")print "lyr in the array":会在元素不存在时将其加入到数组里。
五 其他控制语句:
(1)next:略过对此记录的进一步模式检查。
(2)nextfile:略过对当前输入文件的进一步模式检查。
(3)exit:略过整个工作的进一步指向,并返回状态给Shell。例如:exit n语句。
六 用户控制的输入:
(1)getline的用法:
(2)getline介绍:
*awk直接处理命令行上的输入文件,多大多数的awk不必自己打开与处理文件,可以通过getline函数做这个事情。
*getline:输入被成功读取时,返回值+1;返回值0表示文件结尾;-1表示错误。
*使用shell命令时需加上双引号""。
七 输出重定向:(>和>>)。
八 执行外部程序:system(command)函数。