Shell三剑客:awk(awk编辑编程)四
2023-12-28 02:46:47
一、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
?
?
文章来源:https://blog.csdn.net/weixin_73783595/article/details/135256563
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!