首页 > 其他分享 >无涯教程-AWK - 循环语句

无涯教程-AWK - 循环语句

时间:2023-10-21 19:32:44浏览次数:38  
标签:教程 Sum 无涯 while 循环 AWK awk 执行 sum

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

For 循环

for 循环的语法是-

for (initialization; condition; increment/decrement)
   action

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Learnfk]$echo $?

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

10

参考链接

https://www.learnfk.com/awk/awk-loops.html

标签:教程,Sum,无涯,while,循环,AWK,awk,执行,sum
From: https://blog.51cto.com/u_14033984/7969401

相关文章

  • ubuntu 20.1 (linux) 下软件安装教程(基本上都是使用命令行安装)
    一、node1.安装教程#第二步,添加源后安装需要什么版本直接替换后面的数字即可,如果需要21,直接将20替换为21就可以了curl-sLhttps://deb.nodesource.com/setup_20.x|sudo-Ebash-#开始进行安装sudoaptinstall-ynodejs#https://learnku.com/articles/42581#......
  • 无涯教程-AWK - 条件判断
    与其他编程语言一样,AWK提供条件语句来控制程序的流程。本章以适当的示例说明AWK的控制语句。If语句它仅测试条件并根据条件执行某些操作。下面给出的是if语句的语法-if(condition)action我们还可以使用下面给出的一对花括号来执行多个动作-if(condition){acti......
  • 无涯教程-AWK - 数组(Array)
    AWK具有关联数组,您可以使用字符串或数字作为数组索引。array_name[index]=value其中array_name是数组的名称,index是数组的索引,而value是分配给数组元素的任何值。创建数组为了获得更多关于数组的见解,让我们创建和访问数组的元素。[Learnfk]$awk'BEGIN{fruits["m......
  • 山石防火墙(老版本)重置密码教程
    一、连接防火墙console口,打开scrt,重启防火墙等待出现bootos......输入:entershell(必须一个一个字母打)二、进入配置文件~#cdflash/config三、查看配置文件/wr_point/etc/mnt/mtdblock2/config#ls-l四、查看配置文件中的账号和密码(密码一般都在config.0这个文档中)/wr_point/e......
  • 无涯教程-AWK - 运算符
    像其他编程语言一样,AWK也提供了大量的运算符。本章通过适当的示例说明AWK运算符。S.No.Operators&描述1ArithmeticOperatorsAWK支持以下算术运算符。2IncrementandDecrementOperatorsAWK支持以下递增和递减运算符。3AssignmentOperatorsAWK支持以下赋值运算......
  • pandas教程02:查找表中数据
    在上篇教程中,我们介绍了pandas的安装、数据的导入与导出以及删除行列的操作。这次让我们一起研究下在pandas中如何根据指定的条件查找表中数据。1.数据准备这次,我们使用一张学生成绩表。还是老样子,保存以下内容到文件“期末成绩表.csv”中。学号,性别,语文,数学,英语2301001,......
  • 无涯教程-AWK - 基本语法
    AWK易于使用,我们可以直接从命令行提供AWK命令,也可以以包含AWK命令的文本文件的形式提供AWK命令。AWK命令行我们可以在命令行的单引号内指定AWK命令,如下所示-awk[options]file...考虑具有以下内容的文本文件marks.txt-1)LearnfkPhysics802)ToolfkMaths......
  • 无涯教程-AWK - 环境设置
    本章介绍如何在GNU/Linux系统上设置AWK环境。软件包安装通常,大多数GNU/Linux发行版默认都提供AWK,如果您没有AWK,请使用高级软件包工具(APT)软件包管理器将其安装在基于Debian的GNU/Linux[jeryy]$sudoapt-getupdate[jeryy]$sudoapt-getinstallgawk同样,要在基于RPM的GNU/L......
  • 无涯教程-AWK - 简介
    AWK是一种优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识。AWK提供了极其强大的功能:可以进行正则表......
  • 无涯教程-Arduino - Multi-Dimensional Arrays函数
    具有二维的数组(即下标)通常表示由以行和列排列的信息组成的值表。intb[2][2]={{1,2},{3,4}};这些值按大括号按行分组,因此,1和2分别初始化b[0][0]和b[0][1],而3和4分别初始化b[1][0]和b[1][1],如果给定行的初始化程序不足,则将该行的其余元素初始化为0。因此......