首页 > 编程语言 >在 awk 编程中有各种各样的流程控制语句

在 awk 编程中有各种各样的流程控制语句

时间:2024-04-07 17:22:07浏览次数:34  
标签:语句 BEGIN 编程 else while awk test

awk 编程中有各种各样的流程控制语句,其中包括:

  1. if-else 语句:

    • 简单的 if 判断语句:
      if (表达式) {
          语句1
      } else {
          语句2
      }
      
    • 多分支语句:
      if (表达式) {
          语句1
      } else if (表达式) {
          语句2
      } else {
          语句3
      }
      

    示例:

    awk 'BEGIN {
        test = 100;
        if (test >= 90) {
            print "very very good";
        } else if (test > 80 && test < 90) {
            print "very good";
        } else if (test > 60) {
            print "good";
        } else {
            print "no pass";
        }
    }'
    
  2. while 循环语句:

    while (表达式) {
        语句
    }
    

    示例:

    awk 'BEGIN {
        test = 100;
        total = 0;
        while (i <= test) {
            total += i;
            i++;
        }
        print total;
    }'
    
  3. for 循环语句:

    • 格式1:
      for (变量 in 数组) {
          语句
      }
      
    • 格式2:
      for (变量; 条件; 表达式) {
          语句
      }
      

    示例:
    格式1:

    awk 'BEGIN {
        for (k in ENVIRON) {
            print k "=" ENVIRON[k];
        }
    }'
    

    格式2:

    awk 'BEGIN {
        total = 0;
        for (i = 0; i <= 100; i++) {
            total += i;
        }
        print total;
    }'
    
  4. do-while 循环语句:

    do {
        语句
    } while (条件)
    

    示例:

    awk 'BEGIN {
        total = 0;
        i = 0;
        do {
            total += i;
            i++;
        } while (i <= 100);
        print total;
    }'
    
  5. 其他关键字:

    • break:中断当前正在执行的循环并跳到循环外执行下一条语句。
    • continue:使程序循环移动到下一个迭代。
    • next:导致读入下一个输入行,并返回到脚本的顶部。
    • exit:使主输入循环退出并将控制转移到 END,如果 END 存在的话。如果没有定义 END 规则,或在 END 中应用 exit 语句,则终止脚本的执行。

这些流程控制语句使得 awk 在处理数据时非常强大且高效。

源: 与必应的对话, 2024/4/7
(1) awk实战2-流程控制语句总结_awk中的流程控制-CSDN博客. https://blog.csdn.net/xinquanv1/article/details/99537105.
(2) awk 系列:在 awk 中如何使用流程控制语句 - Linux 中国. https://linux.cn/article-7723-1.html.
(3) 快收藏! 30 分钟包你学会 AWK - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/97583769.

标签:语句,BEGIN,编程,else,while,awk,test
From: https://www.cnblogs.com/wkvip/p/18119482

相关文章

  • 2024.4.7 向量化编程AVX/NEON
    基本介绍X86:Intelx86是英特尔公司于1978年推出的16位微处理器;而x86泛指一系列基于Intel8086且向后兼容的中央处理器指令集架构IntelICC和开源的GCC编译器支持SSE/AVX指令的C语言接口(intrinsic,内置函数),在intrinsic.h头文件中(头文件可能有所不同)函数命名:第一部分:mm/mm256......
  • 中国电子学会(CEIT)2021年12月真题C语言软件编程等级考试四级(含详细解析答案)
    中国电子学会(CEIT)考评中心历届真题(含解析答案)C语言软件编程等级考试四级2021年12月编程题五道 总分:100分一、移动路线(25分)桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格......
  • CS 4551编程任务
    4CS4551/10CS455编程任务42024年春季[Bono]到期时间:4月10日星期三晚上11:59简介和背景在本次课业中,您将有机会使用我们的一些Collection类和方法最近进行了报道。这将使您能够用更少的精力编写运行速度更快的程序如果不是这样的话。在这项任务中,你也将有机会做自己的事情设计与......
  • Python学习(八):python面向对象编程
    文章目录python面向对象编程类的定义类的实例化类的静态变量与静态方法类的静态变量类的静态方法@staticmethod类的类方法@classmethod类的继承单继承多继承多层继承类方法的重写类方法的重载调用父类的方法super函数python面向对象编程面向对象(ObjectOriented)......
  • C语言04-运算符、流程控制(分支控制、循环控制语句)
    第7章运算符7.5赋值运算符——副作用针对左操作数1.赋值运算符有副作用,针对左边操作数2.左边操作数必须是变量的形式,右边操作数可以是常量、变量、表达式eg:c+=3; //等价于c=c+3;//从右向左赋值intx=num=100;7.6三元运算符a?b:c;表达......
  • 一条SQL查询语句是如何执行的
    这是专栏的第一篇文章,我想来跟你聊聊 MySQL 的基础架构。我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于 MySQL 的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个 ID......
  • 后端学习记录~~JavaSE篇(day03-流程控制语句-上)
    if...else与Switch...case语句一、表达式和语句表达式:(1)变量或常量+运算符构成的计算表达式(2)new表达式,结果是一个数组或类的对象。(3)方法调用表达式,结果是方法返回值或void(无返回值)。语句:(1)分支语句:if...else,switch...case(2)循环语句:for,while,do...while(3)跳转语句:brea......
  • 【Python基础】条件语句
    条件语句开发中应用的场景未成年人禁止入内请您配合二次安检程序中的判断a=1a=2方形圆角条......
  • Java登陆第三十九天——Router编程式路由,路由传参
    在上一章节,<router-linkto="/left">左</router-link>这种这种路由,to中的内容目前是固定的。被称之为声明式路由(或普通路由)编程式路由编程式路由,可以按需决定某组件的路径映射。vue-router提供了一个函数:useRouter语法格式如下://该函数的返回值是一个路由对象。letrout......
  • 国科大Python编程基础--编程基础Chapter02
    ......