# 通式
function fun(arg1, arg2) {
arg1 = arg2
xxxx
}
排序的例子
$ cat sort.awk
# sorting function
function sort(Array, elements, temp, i,j)
for (i = 2; i<= elements; ++i) {
for(j = i; array[j - 1] > array[j]; --j) {
temp = array[j]
array[j] = array[j - 1]
array[j - 1] = temp
}
}
return
}
# main routine, 一行一行來
{
for (i = 2; i <= NF; ++i) {
grades[i - 1] = $i
}
sort(grades, NF-1)
printf("%s: ", $1)
for (j = 1; j <= NF - 1; ++j) {
printf("%d ", grades[j])
}
printf("\n")
}
$ cat grade.txt
西西 100 60 75 23
美美 100 98 99 89
$ awk -f sort.awk grade.txt
西西: 23 60 75 100
美美: 89 98 99 100