awk的内置函数
数值函数
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日开始到当前时间(不计闰年)的整秒数
还没有评论,来说两句吧...