AWK 循环

来源:互联网 发布:网络用词及意思 编辑:程序博客网 时间:2024/05/18 01:19

AWK 循环

 
awk有三种循环:while循环;for循环;special for循环。

$ awk '{ i = 1; while ( i <= NF ) { print NF,$i; i++}}' test
$ awk '{for (i = 1; i<NF; i++) print NF,$i}' test 作用同上
变量的初始值为1,若i小于可等于NF(记录中域的个数),则执行打印语句,且i增加1。直到i的值大于NF.

breadkcontinue语句。break用于在满足条件的情况下跳出循环;continue用于在满足条件的情况下忽略后面的语句,直接返回循环的顶端。如:

{for ( x=3; x<=NF; x++) if ($x<0 ){print "Bottomed out!"; break   }}
{for ( x=3; x<=NF; x++) if ($x==0){print "Get next item"; continue}}      
next语句从输入文件中读取一行,然后从头开始执行awk脚本。如:

{if ($1 ~/test/){next}    else {print}}     
exit语句用于结束awk程序,但不会略过END块。退出状态为0代表成功,非零值表示出错。