awk

Continue Statement

continue 语句

continue语句跳过循环体的其余部分,下一个循环周期立即开始。请注意,coutinue意味着你在循环里使用它。

下面的awk程序打印items-sold.txt文件每一个项目sold数量的总和。输出这个程序确切地类似于while.awk, downhill.awk和for.awk程序,但是这个while循环使用continue。

$ cat continue.awk
{
    i=1;
    total=0;
    while (i++ <= NF) {
        if (i == 1) continue;
        total=total+$i;
    }
print "Item", $1, ":", total, "quantities sold";
}


$ awk -f continue.awk  items-sold.txt
Item 101 : 47 quantities sold
Item 102 : 10 quantities sold
Item 103 : 65 quantities sold
Item 104 : 20 quantities sold
Item 105 : 42 quantities sold

下面awk脚本在每次迭代打印x值除了第五个x,使用一个continue语句跳过打印。

$ awk 'BEGIN{x=1; while(x<=10){if (x == 5){x++; continue;}print "Value of x ", x; x++;}}'

下面命令生产下面输出。
Value of x  1
Value of x  2
Value of x  3
Value of x  4
Value of x  6
Value of x  7
Value of x  8
Value of x  9
Value of x  10