控制流程( Control Flow)
优质
小牛编辑
126浏览
2023-12-01
与其他编程语言一样,AWK提供条件语句来控制程序的流程。 本章通过适当的示例解释AWK的控制语句。
If 语句
它只是测试条件并根据条件执行某些操作。 下面给出if语句的语法 -
语法 (Syntax)
if (condition)
action
我们还可以使用下面给出的一对花括号来执行多个动作 -
语法 (Syntax)
if (condition) {
action-1
action-1
.
.
action-n
}
例如,以下示例检查数字是否均匀 -
例子 (Example)
[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'
执行上面的代码时,您会得到以下结果 -
输出 (Output)
10 is even number.
If Else 语句
在if-else语法中,我们可以提供条件变为false时要执行的操作列表。
if-else语句的语法如下 -
语法 (Syntax)
if (condition)
action-1
else
action-2
在上面的语法中,当条件求值为true时执行action-1,当条件求值为false时执行action-2。 例如,以下示例检查数字是否均匀 -
例子 (Example)
[jerry]$ awk 'BEGIN {
num = 11; if (num % 2 == 0) printf "%d is even number.\n", num;
else printf "%d is odd number.\n", num
}'
执行此代码时,您将获得以下结果 -
输出 (Output)
11 is odd number.
If-Else-If Ladder
我们可以使用多个if-else语句轻松创建if-else-if阶梯。 以下示例演示了这一点 -
例子 (Example)
[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";
}'
执行此代码时,您将获得以下结果 -
输出 (Output)
a = 30