本章以适当的示例说明AWK的循环,循环用于以重复的方式执行一组动作,只要循环条件为真,循环就会继续执行。
For 循环
for 循环的语法是-
for (initialization; condition; increment/decrement) action
最初, for 语句执行初始化操作,然后检查条件。如果条件为真,则执行操作,然后执行递增或递减操作。只要条件为真,循环就会继续执行。如,以下示例使用 for 循环打印1到5-
[Learnfk]$awk 'BEGIN { for (i=1; i <= 5; ++i) print i }'
在执行此代码时,您将获得以下输出-
1 2 3 4 5
While 循环
while 循环将继续执行该操作,直到特定逻辑条件的值为真为止。这是 while 循环的语法-
while (condition) action
AWK首先检查条件;如果条件为真,则执行操作。只要循环条件的值为真,就重复此过程。如,以下示例使用 while 循环打印1到5-
[Learnfk]$awk 'BEGIN {i=1; while (i < 6) { print i; ++i } }'
在执行此代码时,您将获得以下输出-
1 2 3 4 5
Do-While 循环
do-while 循环与while循环相似,不同之处在于测试条件在循环结束时进行判断。这是 do-while 循环的语法-
do action while (condition)
在 do-while 循环中,即使条件语句的值为false,动作语句也至少执行一次。如,以下示例使用 do-while 循环打印1-5个数字-
[Learnfk]$awk 'BEGIN {i=1; do { print i; ++i } while (i < 6) }'
在执行此代码时,您将获得以下输出-
1 2 3 4 5
Break 语句
顾名思义,它用于结束循环执行。这是一个当总和大于50时结束循环的示例。
[Learnfk]$awk 'BEGIN { sum=0; for (i=0; i < 20; ++i) { sum += i; if (sum > 50) break; else print "Sum =", sum } }'
在执行此代码时,您将获得以下输出-
Sum=0 Sum=1 Sum=3 Sum=6 Sum=10 Sum=15 Sum=21 Sum=28 Sum=36 Sum=45
Continue 语句
continue 语句在循环内使用,以跳至循环的下一个迭代。当您希望跳过循环内某些数据的处理时,此函数很有用。如,以下示例使用 continue 语句打印1到20之间的偶数。
[Learnfk]$awk 'BEGIN { for (i=1; i <= 20; ++i) { if (i % 2 == 0) print i ; else continue } }'
在执行此代码时,您将获得以下输出-
2 4 6 8 10 12 14 16 18 20
Exit 语句
它用于停止脚本的执行,它接受一个整数作为参数,这是AWK进程的退出状态代码,如果未提供任何参数,则 exit 返回状态零。这是当总和大于50时停止执行的示例。
[Learnfk]$awk 'BEGIN { sum=0; for (i=0; i < 20; ++i) { sum += i; if (sum > 50) exit(10); else print "Sum =", sum } }'
在执行此代码时,您将获得以下输出-
Sum=0 Sum=1 Sum=3 Sum=6 Sum=10 Sum=15 Sum=21 Sum=28 Sum=36 Sum=45
让我们检查脚本的返回状态。
[Learnfk]$echo $?
在执行此代码时,您将获得以下输出-
10
参考链接
https://www.learnfk.com/awk/awk-loops.html
标签:教程,Sum,无涯,while,循环,AWK,awk,执行,sum From: https://blog.51cto.com/u_14033984/7969401