你好,游客 登录 注册 搜索
背景:
阅读新闻

awk 语法深入-判断循环语句

[日期:2017-01-09] 来源:Linux社区  作者:cooling88 [字体: ]

awk 判断与循环语句

awk 作为一门语言,支持顺序、判断、循环三种语句。awk的这三种语句借鉴了C语言,可以控制程序的流程。
   条件语句有if/esle,循环语句有for循环、while循环、do/while循环。
 - if 语句 
   语法格式:
  1. {
  2. if(expression) {
  3. statement;statement;... # statement之间以分号隔开
  4. }
  5. }
eg.
  1. awk 'BEGIN{print "if"}{if($1<$2) print $2 " is big"}'/etc/passwd
 
 -if/else 语句
 语法格式:
  1. {
  2. if(expression){
  3. statement;statement;...# statement之间以分号隔开
  4. }
  5. else{
  6. statement;statement;...
  7. }
  8. }
eg.
  1.  awk 'BEGIN{print "if/else"} {if($1<$2) print $2 " is big";else print $1 " is big"}'/etc/passwd
 
  - if/else if语句
  提供条件分支语句的执行
 语法格式:
  1. {
  2. if(expression){
  3. statement;statement;...# statement之间以分号隔开
  4. }
  5. elseif(expression){
  6. statement;statement;...
  7. }
  8. elseif(expression){
  9. statement;statement;...
  10. }
  11. ...
  12. else{
  13. statement;statement;...
  14. }
  15. }
 解释:程序会从上到下依次对条件expression进行判断,一旦发现某个expression为真,立即执行紧跟的statements语句块。执行完后立刻退出整个if语句,而不去执行下面的expression判断。
     如果所有的expression都无法得到满足,则执行最后一个else语句块!
 
 循环是一种重复执行一个或多个操作的结构。
 
  - while循环
 语法: 条件表达式在循环顶进行部进行判断
  1. while(condition){
  2. action   # 循环体
  3. }
 
 - do/while 循环
 语法: 循环体至少被执行一次,在代码块结尾处进行判断
  1.  do{
  2.      action
  3.  }while(condition)
 
 - for 循环
 语法格式:等同于C语言的for循环
  1. forinitial assignmentcomparsionincrement ){
  2.     coode block
  3. }
eg. 
  1. for( i =1; i <4; i++){
  2.     print "iteration",i
  3. }
 
  - break 和 continue
    break、continue 可用于影响程序的控制流。
  break 退出当前循环,不再继续执行循环体
  continue 终止当前循环,从循环的顶部提前进入新的循环
 注: continue 在while 和 for 循环不同之处在于,在for循环主体中使用时,continue将使循环控制变量自动增加!

Linux常用命令之awk http://www.linuxidc.com/Linux/2016-09/135046.htm

Linux系统之文本格式化工具awk http://www.linuxidc.com/Linux/2016-02/128150.htm

AWK简介及使用实例 http://www.linuxidc.com/Linux/2013-12/93519.htm

Linux awk文本分析工具 http://www.linuxidc.com/Linux/2015-12/126217.htm

Linux文本处理工具之awk  http://www.linuxidc.com/Linux/2015-01/111437.htm

如何在Linux中使用awk命令 http://www.linuxidc.com/Linux/2014-10/107542.htm

文本分析工具-awk  http://www.linuxidc.com/Linux/2014-12/110939.htm

AWK入门基础教程  http://www.linuxidc.com/Linux/2016-12/138138.htm

使用awk格式化输出文本 http://www.linuxidc.com/Linux/2016-04/130193.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-01/139370.htm

linux
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* 匿名 发表于 2017/10/23 16:56:03
我也是按照你的语法格式来实现多分支的(if),为啥不生效?