myprintという、番号を受け取って、それを特定の書式で表示するユーザ定義関数の例を次に示します。
function myprint(num)
{
printf "%6.3g\n", num
}
説明のために、myprint関数を使うawkルールを示します。
$3 > 0 { myprint($3) }
このプログラムは、入力の中に正の数を含む3番目のフィールドを、特別な書式ですべて表示します。次の入力が与えられたとき、
1.2 3.4 5.6 7.8 9.10 11.12 13.14 15.16 17.18 19.20 21.22 23.24
このプログラムは、結果を書式化するために上の関数を使って、次のように表示します。
5.6 13.1 21.2
次に示すのは、再帰関数の例として考えられたものです。これは文字列を逆向きに表示します。
function rev (str, len) {
if (len == 0) {
printf "\n"
return
}
printf "%c", substr(str, len, 1)
rev(str, len - 1)
}