オープンソースカンファレンス2012 Tokyo/Fall - オープンソースの文化祭! には多くの方にブースに来ていただきありがとうございました。 その中で、行の中をソートするというお題がありましたので、awk で処理してみます。 ここでは gawk の asort 関数を用いたものと、gawk の双方向パイプを用いたものを紹介しておきます。 前者は asort 関数を使っていますが、awk でソートを組めば nawk などでも対応させることができます。 また、行のフィールド数はバラバラであることを前提にしています。 まずは asort 関数を用いたものです。 #! /usr/local/bin/gawk -f # sort_rows.awk { for (i = 1; i <= NF; i++) { arr[i] = $i; } asort(arr); str = ""; for (i