天天看點

awk函數

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

繼續閱讀