awk的内置函数

╰+攻爆jí腚メ 2023-01-13 01:43 210阅读 0赞

数值函数
int(x):取整数部份,朝0的方向做舍去。
sqrt(x):正的平方根。
exp(x):以e为底的指数函数。
log(x):自然对数。
sin(x)、cos(x):正弦、余弦。
atan2(y,x):求y/x 的arctan值,单位是弧度。
rand():得到一个随机数(平均分布在0和1之间)
srand(x):设定产生随机数的seed 为x

字符串函数
index(str,substr):返回子串substr在字符串str中第一次出现的位置,若找不到,则返回值为0。
length(str):返回字符串str 的字符个数。
match(str,rexp): 返回模式rexp 在字符串str中第一次出现的位置,如果str中不包含rexp,则返回值0。
sprintf(format,exp1,…):返回一个指定格式的表达式,格式format与printf的打印格式类似。(不在屏幕上输出)
sub(rexp,sub_str,target):在目标串target中寻找第一个能够匹配正则表达式rexp的子串,并用字符串sub_str替换该子串。若没有指定目标串,则在整个记录中查找。
awk ‘BEGIN{str=”water,water”;sub(/at/,”ith”,str);print str}‘

gsub(rexp,sub_str,target):与sub 类似,但gsub替换所有匹配的子串,即全局替换。
substr(str,start,len):返回str的从指定位置start开始长度为len个字符的子串,如果len省略,则返回从start位置开始至结束位置的所有字符。
awk ‘BEGIN{print substr(“awk sed grep”,5)}‘

split(str,array,fs):使用由fs指定的分隔符将字符串str拆分成一个数组array,并返回数组的下标数。
tolower(str):将字符串str中的大写字母改为小写字母。
toupper(str):将字符串str中的小写字母改为大写字母。
awk ‘BEGIN{split(“11/15/2005”,date,”/“); print date[2]}‘
awk ‘BEGIN{print tolower(“MiXeD CaSe 123”)}‘

close(filename): 将输入或输出的文件filename 关闭。
system(command): 此函数允许调用操作系统的指令,执行完毕後将回到awk 程序。
awk ‘BEGIN {system(“ls”)}‘

时间函数

mktime( YYYY MM DD HH MM SS[ DST]) 生成时间格式
strftime([format [, timestamp]]) 格式化时间输出,将时间戳转为时间字符串
systime() 得到时间戳,返回从1970年1月1日开始到当前时间(不计闰年)的整秒数

发表评论

表情:
评论列表 (有 0 条评论,210人围观)

还没有评论,来说两句吧...

相关阅读

    相关 linux awk 函数详细介绍

    这节详细介绍awk内置函数,主要分以下3种类似:算数函数、字符串函数、其它一般函数、时间函数 一、算术函数: 以下算术函数执行与 C 语言中名称相同的子例程相同的操作:

    相关 awk 几个特殊变量

    1、特殊变量: NR:读取到所有记录(包括多个文件)的行数索引号(大概是Number Of Record的意思); FNR:只的是awk所读取到的每个文件中的行数索引号,