- AWK 教程
- AWK - 主页
- AWK - 概述
- AWK - 环境
- AWK - 工作流程
- AWK - 基础语法
- AWK - 基础示例
- AWK - 内置变量
- AWK - 运算符
- AWK - 正则表达式
- AWK - 数组
- AWK - 流程控制
- AWK - 循环
- AWK - 内置函数
- AWK - 用户自定义函数
- AWK - 输出重定向
- AWK - 漂亮打印
- AWK 相关文章
- AWK - 快速指南
- AWK - 相关文章
- AWK - 讨论
AWK - 流程控制
像其他编程语言一样,AWK 也提供了条件语句来控制程序的流程。本篇将通过合适示例讲解 AWK 的控制语句。
If 语句
它仅测试条件,并根据条件执行某些操作。以下是 **if** 语句的语法:
语法
if (condition) action
我们还可以使用一对花括号,如下所示,来执行多个操作:
语法
if (condition) {
action-1
action-1
.
.
action-n
}
例如,以下示例检查一个数字是否是偶数:
示例
[jerry]$ awk 'BEGIN {num = 10; if (num % 2 == 0) printf "%d is even number.\n", num }'
执行上述代码后,得到的如下结果:
输出
10 is even number.
If Else 语句
在 **if-else** 语法中,我们可以提供当条件为假时要执行的动作列表。
**if-else** 语句的语法如下:
语法
if (condition) action-1 else action-2
在上述语法中,当 condition 的值评估为真时执行 action-1,当 condition 的值评估为假时执行 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
广告