常见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")}‘
时间: 2024-10-08 10:28:01