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