awk

Exit Statement

exit. 语句

exit语句使脚本立即停止执行当前的命令,也忽略文件中的其它行。

退出接受任何整数作为参数,这就是awk程序的退出状态代码。如果没有指定任何参数,退出返回状态为零。

下面awk脚本在第五次迭代时退出。因为exit语句之后打印语句,x的值仍然是4个,一旦达到5awk退出。

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

上面的命令产生下面的输出。

Value of x 1
Value of x 2
Value of x 3
Value of x 4

下面例子打印一个月里没有销售项目的第一个项目编号.这有点类似于break.awk例子,不同之处在于,当它发现一个月没有销售直接退出了,而不是去看看其他项目。

$ cat exit.awk
{
    i=2; total=0;
    while (i++ <= NF)
    if ($i == 0) {
        print "Item", $1, "had a month with no item sold"
        exit;
    }
}

$ awk -f exit.awk items-sold.txt
Item 102 had a month with no item sold

注意条目104也有一个月没销售,但是是不显示的,因为我们使用的是exit退出while循环。