# 通式 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