awk的内置函数

常见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

2) 常见awk内置字符串函数
􀂃 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")}'

 

posted @ 2015-12-22 17:51  开心玩数据  阅读(1214)  评论(0编辑  收藏  举报