首页 > 其他分享 >无涯教程-AWK - 自定义函数

无涯教程-AWK - 自定义函数

时间:2023-10-21 20:32:29浏览次数:43  
标签:function 20 num1 自定义 无涯 AWK return num2 函数

函数是程序的基本构建块,AWK允许我们定义自己的函数,大型程序可以分为函数,每个函数可以独立编写/测试。它提供了代码的可重用性。

下面给出的是用户定义函数的一般格式-

function function_name(argument1, argument2, ...) { 
   function body
}

在此语法中, function_name 是用户定义函数的名称。函数名称应以字母开头,其余字符可以是数字,字母字符或下划线的任意组合,AWK的保留字不能用作函数名称。

让我们编写两个函数,计算最小和最大数目,并从另一个名为 main 的函数调用这些函数。 functions.awk 文件包含-

# 返回最小值
function find_min(num1, num2){
   if (num1 < num2)
       return num1
   return num2
}
# 返回最大值
function find_max(num1, num2){
   if (num1 > num2)
      return num1
   return num2
}
# 主函数
function main(num1, num2){
   # 查找最小数
   result=find_min(10, 20)
   print "Minimum =", result
  
   # 查找最大数
   result=find_max(10, 20)
   print "Maximum =", result
}
# 脚本执行从这里开始
BEGIN {
   main(10, 20)
}

在执行此代码时,您将获得以下输出-

Minimum=10
Maximum=20

参考链接

https://www.learnfk.com/awk/awk-user-defined-functions.html

标签:function,20,num1,自定义,无涯,AWK,return,num2,函数
From: https://blog.51cto.com/u_14033984/7969552

相关文章

  • 无涯教程-AWK - 循环语句
    本章以适当的示例说明AWK的循环,循环用于以重复的方式执行一组动作,只要循环条件为真,循环就会继续执行。For循环for循环的语法是-for(initialization;condition;increment/decrement)action最初,for语句执行初始化操作,然后检查条件。如果条件为真,则执行操作,然后执行......
  • Java基础 自定义异常
    自定义异常的意义:让控制台的报错信息更加见名知意 步骤:1.定义异常类,类名要见名知意2.写继承关系。如果定义的异常是运行时异常,要继承RuntimeException;如果是编译时异常,直接继承Exception3.写空参构造4.写带参构造......
  • 无涯教程-AWK - 条件判断
    与其他编程语言一样,AWK提供条件语句来控制程序的流程。本章以适当的示例说明AWK的控制语句。If语句它仅测试条件并根据条件执行某些操作。下面给出的是if语句的语法-if(condition)action我们还可以使用下面给出的一对花括号来执行多个动作-if(condition){acti......
  • 无涯教程-AWK - 数组(Array)
    AWK具有关联数组,您可以使用字符串或数字作为数组索引。array_name[index]=value其中array_name是数组的名称,index是数组的索引,而value是分配给数组元素的任何值。创建数组为了获得更多关于数组的见解,让我们创建和访问数组的元素。[Learnfk]$awk'BEGIN{fruits["m......
  • 无涯教程-AWK - 运算符
    像其他编程语言一样,AWK也提供了大量的运算符。本章通过适当的示例说明AWK运算符。S.No.Operators&描述1ArithmeticOperatorsAWK支持以下算术运算符。2IncrementandDecrementOperatorsAWK支持以下递增和递减运算符。3AssignmentOperatorsAWK支持以下赋值运算......
  • 循序渐进介绍基于CommunityToolkit.Mvvm 和HandyControl的WPF应用端开发(11) -- 下拉
    在我们开发的前端项目中,往往为了方便,都需对一些控件进行自定义的处理,以便实现快速的数据绑定以及便捷的使用,本篇随笔介绍通过抽取常见字典列表,实现通用的字典类型绑定;以及通过自定义控件的属性处理,实现系统字典内容的快捷绑定的操作。1、下拉列表的数据绑定在我们创建下拉列表的......
  • 无涯教程-AWK - 基本语法
    AWK易于使用,我们可以直接从命令行提供AWK命令,也可以以包含AWK命令的文本文件的形式提供AWK命令。AWK命令行我们可以在命令行的单引号内指定AWK命令,如下所示-awk[options]file...考虑具有以下内容的文本文件marks.txt-1)LearnfkPhysics802)ToolfkMaths......
  • 无涯教程-AWK - 环境设置
    本章介绍如何在GNU/Linux系统上设置AWK环境。软件包安装通常,大多数GNU/Linux发行版默认都提供AWK,如果您没有AWK,请使用高级软件包工具(APT)软件包管理器将其安装在基于Debian的GNU/Linux[jeryy]$sudoapt-getupdate[jeryy]$sudoapt-getinstallgawk同样,要在基于RPM的GNU/L......
  • 无涯教程-AWK - 简介
    AWK是一种优良的文本处理工具,Linux及Unix环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人阿尔佛雷德·艾侯、彼得·温伯格和布莱恩·柯林汉姓氏的首个字母)的最大功能取决于一个人所拥有的知识。AWK提供了极其强大的功能:可以进行正则表......
  • 无涯教程-Arduino - Multi-Dimensional Arrays函数
    具有二维的数组(即下标)通常表示由以行和列排列的信息组成的值表。intb[2][2]={{1,2},{3,4}};这些值按大括号按行分组,因此,1和2分别初始化b[0][0]和b[0][1],而3和4分别初始化b[1][0]和b[1][1],如果给定行的初始化程序不足,则将该行的其余元素初始化为0。因此......