时间:2020-02-29来源:电脑系统城作者:电脑系统城
break可退出for、while、do...while、switch语句。
continue可让for、while、do...while进入下一轮循环。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
awk ' BEGIN{ for(i=0;i<10;i++){ if(i==5){ break } print(i) } # continue for(i=0;i<10;i++){ if(i==5)continue print(i) } }'
next会在当前语句处立即停止后续操作,并读取下一行,进入循环顶部。
例如,输出除第3行外的所有行。
1 2
awk 'NR==3{next}{print}' a.txt awk 'NR==3{getline}{print}' a.txt
nextfile会在当前语句处立即停止后续操作,并直接读取下一个文件,并进入循环顶部。
例如,每个文件只输出前2行:
awk 'FNR==3{nextfile}{print}' a.txt a.txt
exit [exit_code]
直接退出awk程序。
注意,END语句块也是exit操作的一部分,所以在BEGIN或main段中执行exit操作,也会执行END语句块。
如果exit在END语句块中执行,则立即退出。
所以,如果真的想直接退出整个awk,则可以先设置一个flag变量,然后在END语句块的开头检查这个变量再exit。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
BEGIN{ ...code... if(cond){ flag=1 exit } } {} END{ if(flag){ exit } ...code... } awk ' BEGIN{print "begin";flag=1;exit} {} END{if(flag){exit};print "end2"} '
exit可以指定退出状态码,如果触发了两次exit操作,即BEGIN或main中的exit触发了END中的exit,且END中的exit没有指定退出状态码时,则采取前一个退出状态码。
1 2 3 4 5 6 7
$ awk 'BEGIN{flag=1;exit 2}{}END{if(flag){exit 1}}' $ echo $? 1 $ awk 'BEGIN{flag=1;exit 2}{}END{if(flag){exit}}' $ echo $? 2
2024-07-18
Centos 7 二进制安装配置 MariaDB数据库2024-07-18
Centos7默认firewalld防火墙使用命令大全2024-07-07
四种执行python系统命令的方法常用权限linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人这些身份对于文档常用的有下面权限:r:读权限,用户可以读取文档的内容,如用cat,more查看w:写权限,用户可以编辑文档x...
2024-07-07
然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装...
2024-07-03