AWK学习笔记-2.3User-Defined Functions自定义函数
来源:互联网 发布:怎么升级淘宝版本 编辑:程序博客网 时间:2024/05/18 09:09
User-Defined Functions 自定义函数
1.自定义函数可以在任何地方进行定义.函数名和左括号(中间不能有空格
function name(parameter-list ){ statements}
两种返回方式:
- 隐式返回:当awk执行到函数的结尾时,它自动地返回到调用程序
- 显式返回:如果需要在结束之前退出函数,可以明确地使用返回语句提前退出。
return expression
函数可以直接使用awk中的变量,包括域变量($1、$2…)和函数外定义的其它变量,这些变量可以看做是全局变量,如果是直接使用,则函数中对变量的修改将影响该变量的值;
echo "123456" | awk '{var = 10;MyFunc();print $1;print var;}function MyFunc(){print $1;var += 20;$1 = "abcdefg";}'
123456
abcdefg
30如果想要使得函数对变量的修改不改变原变量的值,那么需要通过参数传递的方式来实现;
echo "123456" | awk '{ var = 10;MyFunc(var);print var;}function MyFunc(var){var += 20;}'
10
函数中定义的变量默认也是全局的,如果想要使其作为局部变量,可以使用在参数中定义,但调用时不传入该参数的方式(shell函数中可以使用local关键字来定义局部变量);
echo "123456" | awk '{MyFunc();print var1;print var2;}function MyFunc(var1){var1 = 0;var2 = 20;}'
(空)
20
函数的参数如果是标量则是传值,数组则是传引用,函数中改变数组的值可以改变全局数组中的值。
echo "123456" | awk '{a = 10;b[1] = 15;MyFunc(a, b);print a;print b[1];}function MyFunc(x, y){x = 0;y[1] = 20;}'
10
20awk中的自定义函数
1 0
- AWK学习笔记-2.3User-Defined Functions自定义函数
- 自定义函数。用户自定义函数(User Defined Functions)SQL Server 2000
- C语言学习笔记(四) -自定义函数 User-defined Function
- User Defined Functions
- Hive Operators and User-Defined Functions (UDFs) hive 日期函数
- Transact SQL User Defined Functions
- Table-Valued User-Defined Functions
- Invoking CLR User-Defined Aggregate Functions
- Hive Operators and User-Defined Functions (UDFs)
- UDFs — User-Defined Functions
- MySql基础-自定义函数(user-defined function,UDF)
- DB2基于JAVA的自定义函数(user-defined-function)示例
- eXtremeDB stored procedure & Dynaimically-loaded user defined functions
- User-Defined Functions (UDFs) with HiveServer2 Using Cloudera Manager
- Django学习笔记 — 自定义User模型
- 使用者自定义User-Defined的迭代器
- UE4学习笔记: Functions
- UE4学习笔记: Functions
- Ubuntu Server系统下快速安装LAMP生产环境脚本
- Opera USB – 迷你浏览器 带着浏览器满世界跑
- 【转载】零下26度, 冰钓TOMMY COD(鳕鱼)
- Linux 源代码编译缺少头文件问题
- 【转载】centos6.x/6.2/6.3 更新yum源
- AWK学习笔记-2.3User-Defined Functions自定义函数
- Siege 最好的Web服务器性能/压力测试工具,Siege使用教程详细说明
- CentOS 修改IP地址, DNS, 网关
- RESTful服务最佳实践——(十二)
- 如何手动释放Linux内存的方法
- Centos如何查看系统内核版本,系统版本,32位还是64位
- CentOS 5.3 下快速安装配置 PPTP VPN 服务器
- 线索二叉树的建立和中序遍历
- Selenium常用函数