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

awk 判断与循环语句
    awk 作为一门语言,支持顺序、判断、循环三种语句。a wk的这三种语句借鉴了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. else if(expression) {
  6. statement;statement;...
  7. }
  8. else if(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将使循环控制变量自动增加!





















  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值