awk中自定義函式

2021-06-22 08:46:11 字數 864 閱讀 3392

awk中自定義函式 

定義和呼叫使用者自己的函式是幾乎每個高階語言都具有的功能,awk也不例外,但原始的awk並不提供函式功能,只有在nawk或較新的awk版本中才可以增加函式。 

函式的使用包含兩部分

:函式的定義與函式呼叫。其中函式定義又包括要執行的**(函式本身)和從主程式**傳遞到該函式的臨時呼叫。

awk函式的定義方法如下: 

function 函式名(參數列)  在

gawk

中允許將

function

省略為func,但其它版本的awk不允許。函式名必須是乙個合法的標誌符,參數列中可以不提供引數(但在呼叫函式時函式名後的一對括號仍然是不可缺少的),也可以提供乙個或多個引數。與c語言相似,awk的引數也是通過值來傳遞的。 

在 awk 中呼叫函式比較簡單,其方法與c語言相似,但awk比c語言更為靈活,它不執行引數有效性檢查。換句話說,在你呼叫函式時,可以列出比函式預計(函式定義中規定)的多或少的引數,多餘的引數會被awk所忽略,而不足的引數,awk將它們置為預設值0或空字串,具體置為何值,將取決於引數的使用方式。 

awk函式有兩種返回方式:隱式返回和顯式返回。

當awk執行到函式的結尾時,它自動地返回到呼叫程式,這是函式是隱式返回的。如果需要在結束之前退出函式,可以明確地使用返回語句提前退出。方法是在函式中使用形如:return 返回值 格式的語句。 

nawk 

>'begin 

>#定義函式print_header 

>function print_header(filename,pagenum) 

>}' myfile 

執行這個程式將顯示如下內容: 

myfile 1 

當前頁頁號是:2 

awk 語法深入 使用者自定義函式

自定義函式格式 awk 自定義函式獲取引數,選擇性的返回標量值,函式可以在程式的頂層任意位置定義。自定義格式為 function name arg1 arg2 argn 在自定義的函式中,指定的引數被當作區域性變數,他們會隱藏任何同名的全域性性變數。呼叫函式的格式 function expr1 ex...

自定義函式 Excel之自定義函式

在excel中,當系統函式不能滿足我們的需求時候,我們可以使用vba自定義函式,如抓取網頁資料,翻譯詞彙,手機號歸屬地查詢等。下面將介紹2個自定義函式,idymd函式 身份證年月日性別 通過身份證號,返回性別,出生年月日。語法 idymd id 引數 id,身份證號,預設身份證長度18位。vba 如...

sql server中自定義函式

create function getzhye nm varchar 300 returns float as begin declare membername float set membername 0 select membername 欄位1 from 表a where 欄位2 nm if ...