一个AWK的快速排序实现,使用方法如下: awk -f qsort.awk urfile 实现代码如下: #!/bin/awk BEGIN { FS="[ ,:/t]" #字段分隔符,可以自行添加多个,支持正则 } { while(++i <= NF) data[i] = $(i); for(t=1;t<=NF;++t) printf("%d ",data[t]); printf("/n"); } END { qsort(data, 1, NF); for(t=1;t<=NF;++t) printf("%d ",data[t]); printf("/n"); } function qsort(arr, low, high) { i=low; j=high; pivot = arr[(i+j)/2]; while(i < j) { while((arr[i] < pivot) && (i < high)) i++; while((arr[j] > pivot) && (j > low)) j--; if(i <= j) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; ++i; --j; } } if(i < high) qsort(arr,i,high); if(j > low) qsort(arr,low,j); }