昇順ソート
AWKには、ソート機能がないので、ユーザー定義関数を利用することになります。
公開されているスプリクトを、外部変形用に一部だけ修正したユーザー定義関数です。
function sort(arry,n){ # 昇順
for(i=2;i<=n;i++){
for (j=i;j>1 && arry[j-1]-arry[j]>0;j--){
temp=arry[j-1]
arry[j-1]=arry[j]
arry[j]=temp
} # for j
} # for i
} # function
※arry[j-1]-arry[j]>0 と arry[j-1]>arry[j]は数式上は等価ですが、
前者にすることで、複数フィールドの数列をソートすることができます。
| 固定リンク
コメント