AWK - 控制流程
与其他编程语言一样,AWK 提供条件语句来控制程序的流程。 本章用合适的例子解释了 AWK 的控制语句。
If 语句
它只是测试条件并根据条件执行某些操作。 以下是 if 语句的语法 −
语法
if (condition) action
我们还可以使用下面给出的一对花括号来执行多个操作 −
语法
if (condition) { action-1 action-1 . . action-n }
例如,以下示例检查一个数字是否为偶数t −
示例
[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'
在执行上述代码时,您会得到以下结果 −
输出
10 is even number.
If Else 语句
在 if-else 语法中,我们可以提供当条件变为 false 时要执行的操作列表。
if-else 语句的语法如下 −
语法
if (condition) action-1 else action-2
在上面的语法中,当条件计算为真时执行 action-1,当条件计算为假时执行 action-2。 例如,以下示例检查一个数字是否为偶数 −
示例
[jerry]$ awk 'BEGIN { num = 11; if (num % 2 == 0) printf "%d is even number.\n", num; else printf "%d is odd number.\n", num }'
在执行此代码时,您会得到以下结果 −
输出
11 is odd number.
If-Else-If 阶梯
我们可以通过使用多个 if-else 语句轻松创建 if-else-if 阶梯。 以下示例演示了这一点 −
示例
[jerry]$ awk 'BEGIN { a = 30; if (a==10) print "a = 10"; else if (a == 20) print "a = 20"; else if (a == 30) print "a = 30"; }'
在执行此代码时,您会得到以下结果 −
输出
a = 30