st。
如果第一个域小于第二个域则打印。
awk if 1 lt 2 count print quotokquot test.如果第一个域小于第二个域,则 count 加一,并打印 ok。
14.5.2. if/else 语句,用于双重判断。
格式: if expression statement statement ... else statement statement ... awk if 1 gt 100 print 1 quotbadquot else print quotokquot test。
如果1大于 100 则打印1 bad否则打印 ok。
awk if 1 gt 100 count print 1 else count-- print 2test。
如果1 大于 100,则 count 加一,并打印1,否则 count 减一,并打印1。
14.5.3. if/else else if 语句,用于多重判断。
格式: if expression statement statement ... else if expression statement statement ... else if expression statement statement ... else statement statement ... 14.6. 循环 awk 有三种循环:while 循环;for 循环;special for 循环。
awk i 1 while i lt NF print NFi i test。
变 量的初始值为 1,若 i 小于可等于 NF记录中域的个数则执行打印语 句,且 i 增加 1。
直到 i 的值大于 NF. awk for i 1 iltNF i print NFi test。
作用同上。
breadkcontinue 语句。
break 用于在满足条件的情况下跳出循环; continue 用于在满足条件的情况下忽略后面的语句,直接返回循环的 顶端。
如: for x3 xltNF x if xlt0print quotBottomed outquot break for x3 xltNF x if x0print quotGet next itemquot continue next 语句从输入文件中读取一行,然后从头开始执行 awk 脚本。
如: if 1 /test/next else print exit 语句用于结束 awk 程序,但不会略过 END 块。
退出状态为 0 代表 成功,非零值表示出错。
14.7. 数组awk 中的数组的下标可以是数字和字母,称为关联数组。
14.7.1. 下标与关联数组 用变量作为数组下标。
如: awk namex2ENDfori0iltNRi print inamei test。
数组 name 中的下标是一个自定义变量 x,awk 初始化 x 的值 为 0,在每次使用后增加 1。
第二个域的值被赋给 name 数组的各个 元素。
在 END 模块中,for 循环被用于循环整个数组,从下标为 0 的 元素开始,打印那些存储在数组中的值。
因为下标是关健字,所以它 不一定从 0 开始,可以从任何值开始。
special for 循环用于读取关联数组中的元素。
格式如下: for item in arrayname print arraynameitem .
上一篇:
网络公司运营方案
下一篇:
小学英语作文:讨厌的蟑螂(双语)