Shell三剑客:awk(awk编辑编程)四

一、Break 结束循环

        Break 结束循环实例

  • break[n]:当第n次循环到来后,结束整个循环,n=0就是指本次循环
  • 当计算的和大于 50 的时候使用 break 结束循环:
[root@localhost ~]# 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 语句用于在循环体内部结束本次循环,从而直接进入下一次循环迭代。
  • Continue[n]:满足条件后,直接进行第n次循环,本次循环不在进行,n=0也就是提前结束本次循 环而直接进入下一轮
  • 输出 1 到 20 之间的偶数:
[root@localhost ~]# 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 结束脚本程序

        Exit 结束脚本程序实例

  • Exit 用于结束脚本程序的执行。
  • 该函数接受一个整数作为参数表示 AWK 进程结束状态。 如果没有提供该参数,其默认状态为 0。
  • 当和大于 50 时结束 AWK 程序。
[root@localhost ~]# 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[root@localhost ~]# echo $?    #检查脚本执行后的返回状态
10

 

 四、Next 停止处理

        Next 停止处理实例

  • next:提前结束对本行的处理动作而直接进入下一行处理
[root@localhost ~]# awk -F: '{if($3%2!=0) next; print $1,$3}' /etc/passwd
root 0
daemon 2
lp 4
shutdown 6
mail 8
games 12
ftp 14
systemd-network 192
sshd 74
chrony 998
apache 48
tom 1000
Tom 1002
Jack 1004
opp 1008
qian 1010
huang 1012
kong 1014
duo 1016
ji 1018
han 1020

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/303426.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跟着LearnOpenGL学习12--光照贴图

文章目录 一、前言二、漫反射贴图三、镜面光贴图3.1、采样镜面光贴图 一、前言 在跟着LearnOpenGL学习11–材质中&#xff0c;我们讨论了让每个物体都拥有自己独特的材质从而对光照做出不同的反应的方法。这样子能够很容易在一个光照的场景中给每个物体一个独特的外观&#xf…

UDP协议工作原理及实战(二)UDP客户端代码实现

这个是一个测试我们写的函数是否正确。 启动服务&#xff1a;这里边的udpsocket->bind(port)就是对端口号进行连接。

Neural Networks 期刊投稿指南

一 简介 这是国际神经网络学会、欧洲神经网络学会和日本神经网络学会的官方期刊。 论文类型 文章&#xff1a; 原创的、全文长度的文章将被考虑&#xff0c;前提是它们除了摘要形式外尚未发表&#xff0c;并且没有同时在其他地方进行审查。作者可以自愿但不是必须建议一位编辑…

【网络面试必问(9)】Web服务器处理Http请求消息及与客户端交互的原理

接上一篇&#xff1a;【网络面试必问&#xff08;8&#xff09;】防火墙原理、正向代理、反向代理、缓存服务器、负载均衡和内容分发服务器 这一篇&#xff0c;我们看一下请求消息的终点&#xff0c;Web服务器的程序结构。我们都知道&#xff0c;服务器会同时接收多个客户端的请…

组织框架概念澄清及表设计

组织 企业组织 企业组织就是企业正式编制&#xff0c;以单独的编制&#xff0c;是个人在企业所在的长久的家&#xff0c;类似于所说的考编&#xff0c;在企业体制内的位置&#xff0c;可能一个人在组织有不同的岗位&#xff0c;也可能有不同的项目组&#xff0c;但是&#xf…

DRF从入门到精通五(路由组件、认证组件、权限组件、频率组件及认证、权限源码分析)

文章目录 一、路由组件REST framework提供了两个routeraction装饰器 二、认证组件(Authentication)三、权限组件(Permissions)内置权限类 四、频率组件(Throttling)五、权限组件源码分析六、认证组件源码分析 一、路由组件 对于视图集ViewSetMixin&#xff0c;我们除了可以自己…

C++标准模板库(STL)

标准模板库&#xff08;STL&#xff09;是一组C模板类&#xff0c;提供常见的编程数据结构和函数&#xff0c;如列表、堆栈、数组等。它是一个容器类、算法和迭代器的库。它是一个通用库&#xff0c;因此&#xff0c;它的组件是参数化的。模板类的相关知识是使用STL的先决条件。…

ROS-rosbag

文章目录 一、命令行二、编码 机器人传感器获取到的信息&#xff0c;有时我们可能需要时时处理&#xff0c;有时可能只是采集数据&#xff0c;事后分析&#xff0c;比如: 机器人导航实现中&#xff0c;可能需要绘制导航所需的全局地图&#xff0c;地图绘制实现&#xff0c;有两…

ubuntu 在线安装 python3 pip

ubuntu 在线安装 python3 pip 安装 python3 pip sudo apt -y install python3 python3-pip升级 pip python3 -m pip install --upgrade pip

Bacnet—IP业务逻辑协议Yabe软件

Bacnet—IP业务逻辑协议 1、 网络属性配置和读取 Bacnet有专门配置IP参数的类&#xff0c;设备连接之前&#xff0c;需要配置端口号和ip地址&#xff0c;图示是用yabe的BACnet参数设置功能 2、 设备信息配置和读取 Bacnet 有个专门的类可以配置和读取出厂参数信息&#xff0c;软…

力扣日记12.27-【二叉树篇】235. 二叉搜索树的最近公共祖先

力扣日记&#xff1a;【二叉树篇】235. 二叉搜索树的最近公共祖先 日期&#xff1a;2023.12.27 参考&#xff1a;代码随想录、力扣 235. 二叉搜索树的最近公共祖先 题目描述 难度&#xff1a;中等 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近…

纹理映射示例Chap02.2

书章节2.2.4纹理映射 把上一节代码稍微修改&#xff0c;加载一个平面和图片&#xff0c;就可以实现简单纹理映射。 2.2_TextureExample.cpp如下 //VTK INIT With Opengl2 #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2) VTK_MODULE_INIT(vtkInteract…