作者: Koichi Yamamoto
日時: 2003/12/30(22:20)
こんにちは、山本です。

"HFC01730@... (水羽信男)"さんは書きました:
> 今回の作業は改行を欄の区切りとし、空白をレコードの区切りとするunicodeデータを特定
> の欄をキーとしてソートするという作業です。

改行が欄の区切りで、空白がレコードの区切りということですから、
もしかしたら文意を間違ってとらえているかもしれませんが、
ここではデータの行成分をレコード、列成分を欄と解釈して
# つまり極悪さんの例と同じようにして
Tclの場合の説明をすると、こんな感じになります。
コマンドプロンプトから:

C:\temp>type hoge.txt
お こ さ と
え け し ち
う く せ て
あ か そ た
い き す つ

C:\temp>tclsh84
% proc sortfield {filename column encoding} {
set fd [open $filename]
fconfigure $fd -encoding $encoding
set data [lsearch -all -regexp -inline [split [read $fd] \n] .+]
puts [join [lsort -index $column $data] \n]
close $fd
}
% sortfield hoge.txt 0 cp932
あ か そ た
い き す つ
う く せ て
え け し ち
お こ さ と
% sortfield hoge.txt 1 cp932
あ か そ た
い き す つ
う く せ て
え け し ち
お こ さ と
% sortfield hoge.txt 2 cp932
お こ さ と
え け し ち
い き す つ
う く せ て
あ か そ た
% sortfield hoge.txt 3 cp932
あ か そ た
え け し ち
い き す つ
う く せ て
お こ さ と
%


--
Koichi Yamamoto, 
http://homepage3.nifty.com/yamakox/