AWK - 循环

首页 / Awk / Loops

本章以适当的示例说明AWK的循环,循环用于以重复的方式执行一组动作,只要循环条件为真,循环就会继续执行。

For 循环

for 循环的语法是-

for (initialization; condition; increment/decrement)
   action

最初, for 语句执行初始化操作,然后检查条件。如果条件为真,则执行操作,然后执行递增或递减操作。只要条件为真,循环就会继续执行。如,以下示例使用 for 循环打印1到5-

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

在执行此代码时,您将获得以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-loops.html

来源:LearnFk无涯教程网

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 } }'

在执行此代码时,您将获得以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-loops.html

来源:LearnFk无涯教程网

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) }'

在执行此代码时,您将获得以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-loops.html

来源:LearnFk无涯教程网

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 
   } 
}'

在执行此代码时,您将获得以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-loops.html

来源:LearnFk无涯教程网

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
   } 
}'

在执行此代码时,您将获得以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-loops.html

来源:LearnFk无涯教程网

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 
   } 
}'

在执行此代码时,您将获得以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-loops.html

来源:LearnFk无涯教程网

Sum=0
Sum=1
Sum=3
Sum=6
Sum=10
Sum=15
Sum=21
Sum=28
Sum=36
Sum=45

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

[Learnfk]$echo $?

在执行此代码时,您将获得以下输出-

链接:https://www.learnfk.comhttps://www.learnfk.com/awk/awk-loops.html

来源:LearnFk无涯教程网

10

这一章《AWK - 循环》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持,感谢!😊

相关文章

从0开始学大数据 -〔李智慧 - 47讲〕

Service Mesh实战 -〔马若飞 - 41讲〕

人人都用得上的写作课 -〔涵柏 - 21讲〕

手把手带你写一个Web框架 -〔叶剑峰 - 41讲〕

如何使用不同的变量来计算新变量,具体取决于哪个变量有缺失值?

有人可以向我解释一下 ReactJS 的这段代码吗?

将包装器组件放入react 路由交换机

如何在带有 Bouncy Castle 的 C# 中使用 secp256k1 使用 SeedHex...

在 Golang 中获取谷歌云服务帐户的访问令牌?

删除表行按钮删除所有后续行

视频推荐〔Awk - 12-三剑客-sed-总结〕

更多视频 »
好记忆不如烂笔头。留下你的足迹吧 :)