在awk中常用的内置函数大概分为:数值函数、字符函数、时间函数、二进制操作函数、数组函数、自定义函数等。
数值函数
常用的数值函数主要有int、rand、srand、sqrt等。详细如下所示:
函数 | 说明 |
---|---|
int(expr) | 对数字进行取整 |
sqrt(expr) | 返回数值的平方根 |
rand() | 生成0~1的随机数 |
srand([expr]) | 使用指定的条件做为种子生成随机数,如条件未指定,则使用时间做为种子,返回值是先前种子值。 |
示例如下所示:
字符函数
常用的数值函数如下所示:
函数 | 说明 |
---|---|
gsub(regex,sub,string) | 替换函数,其中第三个参数是可选的,如果无,则使用$0 |
index(str,sub) | 查找字符串str中是否包含子字符串sub,并返回起始位置信息,如返回0则代表未找到指定的字符串 |
length(str) | 返回字符串的长度 |
split(str,arr,regex) | 分割字符串str为正则表达式regex字段并赋值给数组arr |
sub(regex,sub,str) | 替换指定范围内的字符全只替换第一次出现的字符串 |
substr(str,start,length) | 从字符串返回从指定位置搜索并且满足长度要求的子字符串 |
tolower(str) | 将字符串转换为小写 |
toupper(str) | 将字符串转换为大写 |
gsub:是全局替换,会替换指定范围内的所有能匹配到的字符
sub:是局部替换,仅替换指定范围内的第一次匹配到的字符
示例如下所示:
数组函数
函数 | 说明 |
---|---|
isarray(x) | 判断变量是否为数组, |
delete array[index] | 删除数组中的元素 |
delete array | 清空数组 |
asort(array) | 给数组排序 |
asorti(array) | 类似于asort,但却是用数组下标进行排序,适用于下标为非数字的情况 |
示例如下所示:
以上仅介绍了awk常用的内置函数,更多可以查阅man文档或查阅awk官方文档
本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注: