AWK 循环

AWK 循环

本章介绍了AWK的循环及其适当示例。循环用于以重复的方式执行一组操作。只要循环条件为真,循环就会继续执行。

For 循环

for 循环的语法是 −

语法

for (initialization; condition; increment/decrement)
   action

最开始, for 语句执行初始化动作,然后检查条件。如果条件为真,它执行指定的动作,然后进行递增或递减操作。只要条件为真,循环就会继续执行。例如,以下示例使用 for 循环打印从1到5的数值。

示例

[jerry]$ awk 'BEGIN { for (i = 1; i <= 5; ++i) print i }'

执行此代码后,您将获得以下结果−

输出

1
2
3
4
5

循环

while 循环会一直执行操作,直到某个逻辑条件为真为止。以下是 while 循环的语法−

语法

while (condition)
   action

AWK首先检查条件;如果条件为真,则执行动作。只要循环条件评估为真,这个过程就会重复。例如,以下示例使用 while 循环打印1到5 –

示例

[jerry]$ 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的数字 –

示例

[jerry]$ awk 'BEGIN {i = 1; do { print i; ++i } while (i < 6) }'

在执行此代码时,您将获得以下结果−

输出

1
2
3
4
5

break语句

正如其名称所示,它用于结束循环执行。以下是一个示例,当总和大于50时,循环将结束。

示例

[jerry]$ 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之间的偶数。

示例

[jerry]$ 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时停止执行。

示例

[jerry]$ 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

让我们来检查脚本的返回状态。

示例

[jerry]echo?

执行此代码后,您将获得以下结果:

输出

10

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程