[linux-users: 108953] Re: sort や uniq で違う文字が同一視される
Kazuhiro NISHIYAMA
zn @ mbf.nifty.com
2013年 10月 31日 (木) 22:50:43 JST
西山和広です。
説明ありがとうございます。
At Thu, 31 Oct 2013 22:28:48 +0900,
bogytech+lu @ gmail.com wrote:
> そうですね。glibc に付属の ja_JP の定義はかなり古いもので、
> EUC-JP を念頭に書いてあって、JIS X 0208 順にソートするよう
> になっています。そのため第三水準やユニコードで増えた文字に
> は対応できていません。
なるほど。
> そこまで調べられたのならば、LC_COLLATEを自分で書いて定義し
> てやるという手は一応あります。ただ真面目にやろうとすると、
> かなり手間ですし、日本語のソート順をどするか(辞書順? JIS
> 文字コード順? ユニコード規定(TR#10,ISO 14651)順?など色々
> と悩ましくなること受けあいです。
そこまで手間をかけて解決したい問題ではなかったので、
ちゃんとした定義は誰か興味のある方にお任せしたいです。
> > とりあえず LC_COLLATE=C にすれば問題はおきないように
> > 見えるのですが、そういう解決方法しかないのでしょうか。
>
> どのような順番にソートすることをご期待なのかわかりませんが、
> 単純に言語を無視してバイト順でソートしたいだけならば、実は
> LC_COLLATE=C が最も適切な解決策なのではないかと思います。
uniq -c で重複がないのを確認しようとしたら、2以上になることが
あって困ったというのがきっかけなので、ソート順はどうでも
よかったので、 LC_COLLATE=C で対処することにします。
--
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)
linux-users メーリングリストの案内