72. do-while 循环
awk while
循环是一个条目控制循环,因为条件是在条目处检查的。
do-while
循环是一个退出控制循环,退出时检查条件。do-while
循环总是至少执行一次,只要条件为真,它就会重复。
语法:
do
action
while(condition)
在下面的示例中,打印语句只执行一次,因为我们确保条件为假。如果这是一个 while
语句,具有相同的初始化和条件,则根本不会执行操作。
$ awk 'BEGIN{
count=1;
do
print "This gets printed at least once";
while(count!=1)
}'
This gets printed at least once
以下 awk 程序打印 items-sold.txt
文件中每件商品的销售总数。
该程序的输出与 while.awk
程序完全相同,但它使用了 do-while
。
$ cat dowhile.awk
{
i=2; total=0;
do
{
total = total + $i;
i++;
} while (i <= NF)
print "Item", $1, ":", total, "quantities sold";
}
$ awk -f dowhile.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