74. break 语句
break
语句用于跳出包围它的最内层循环(while
、do-while
或 for
循环)。
条件
时,break
语句才有意义。
以下示例打印某个月份没有售出商品的任何商品编号,即 field2
到 field7
中的任意一个值都为 0。
$ cat break.awk
{
i=2; total=0;
while (i++ <= NF)
if ($i == 0) {
print "Item", $1, "had a month with no item sold"
break;
}
}
$ awk -f break.awk items-sold.txt
Item 102 had a month with no item sold
Item 104 had a month with no item sold
如果执行以下命令,请按 Ctrl-C
停止脚本并中断它。
$ awk 'BEGIN{while(1) print "forever"}'
上面的 awk while
循环永远打印字符串 "forever"
,因为条件永远不会失败。
通常这不是一件好事,尽管在过程控制或操作系统应用程序中使用了永远循环!
让我们修改循环,使其恰好执行十次并由 break
语句终止。
$ awk 'BEGIN{
x=1;
while(1)
{
print "Iteration";
if ( x==10 )
break;
x++;
}
}'
上述命令产生以下输出:
Iteration
Iteration
Iteration
Iteration
Iteration
Iteration
Iteration
Iteration
Iteration