極悪です。
Ueta Masayuki さんの [TSfree:584] Re: 欄区切りのソート から
>(改行が欄の区切りで、空行がレコードの区切り)
それでは、各レコードは空行で区切られており、ひとつのレコード
は改行で区切られた複数のフィールドから成ってる、ということで。
D:% cat sort_fields2.pl
use Sort::Fields;
$/ = "";
my @paragraph = grep(s/\n*\Z/\n\n/,<STDIN>);
print fieldsort([@ARGV,0],@paragraph);
D:% cat hoge2.txt
お
け
さ
え
こ
し
う
く
せ
あ
か
そ
い
き
す
D:% perl sort_fields2.pl 3 < hoge2.txt
お
け
さ
え
こ
し
い
き
す
う
く
せ
あ
か
そ
D:%
Sort::Fields::fieldsort() の中身は Schwartz 変換なので、
速さを競うなら Guttman-Rosler 変換にしたほうがよさげです。
--
FZH01112 at nifty.com
http://hpcgi1.nifty.com/dune/gwiki.pl?