1、内置數學函數:
名稱 傳回值
atan2(x,y) y,x範圍内的餘切
cos(x) 餘弦函數
exp(x) 求幂
int(x) 取整
log(x) 自然對數
sin(x) 正弦函數
sqrt(x) 平方根
2、内建函數
字元串函數
sub(regular expression,substitution string);
sub(regular expression,substitution string,target string);
length(string)
該函數傳回字元串的長度。
substr(string,starting position)
substr(string,starting position,length of string)
該函數傳回第一個參數的子字元串,其截取起始位置為第二個參數(偏移量為1),截取長度為第三個參數,如果沒有該參數,則從第二個參數指定的位置起,直到string的末尾。
/>awk 'BEGIN{name = substr("Hello World",2,3); print name}'
ell
split(string,array,field seperator)
split(string,array)
該函數使用作為第三個參數的域分隔符把字元串分隔為一個數組。如果第三個參數沒有提供,則使用目前預設的FS值。
/> awk 'BEGIN{split("11/20/2011",date,"/"); print date[2]}'
20
variable = sprintf("string with format specifiers ",expr1,expr2,...)
該函數和printf的差别等同于C語言中printf和sprintf的差别。前者将格式化後的結果輸出到輸出流,而後者輸出到函數的傳回值中。
/> awk 'BEGIN{line = sprintf("%-15s %6.2f ", "hello",4.2); print line}'
hello 4.20
時間函數:
systime()
該函數傳回目前時間距離1970年1月1日之間相差的秒數。
/> awk 'BEGIN{print systime()}'
1321369554
strftime()
時間格式化函數,其格式化規則等同于C語言中的strftime函數提供的規則。
3、自定義函數:
自定義函數可以放在awk腳本的任何可以放置模闆和動作的地方。
function name(parameter1,parameter2,...) {
statements
return expression
}
原文:
http://www.cnblogs.com/mchina/archive/2012/06/30/2571317.html