[ubuntu-jp:6135] Re: sed の正規表現
Masakazu Takahashi
emasaka @ gmail.com
2019年 3月 2日 (土) 12:59:25 UTC
こんにちは。
私もよく知らないのですが、LC_COLLATE はたとえば
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
や
aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
のように、文字の並び順そのものを定義していたかと思います。
そのため、理論上はどんな並び順も作りえるかと。
On Sat, Mar 2, 2019 at 9:48 PM Kenzi NOIKE <knoike at gmail.com> wrote:
>
> 野池です.
>
> > ぁ < ゟ < ・ < ゞ
>
> すみません,ヒットしないのですから,この大小関係は間違いですね.
> 慌てていて申し訳ないです.
>
>
> > $ echo "・" | LC_COLLATE=C.UTF-8 grep "[ぁ-ゟ]"
> > はヒットして期待外の動作ですが
> > $ echo "・" | LC_COLLATE=C.UTF-8 grep "[ぁ-ゞゟ]"
> > はヒットしませんね
>
> この現象を説明できる,ぁ, ゞ, ゟ と ・ の大小関係の想像がつきません... .
>
>
>
>
> 2019年3月2日(土) 21:41 Kenzi NOIKE <knoike at gmail.com>:
> >
> > 野池です.すみません,ほぼ興味本位の質問になってしまうので,
> > どなたでもわかる方に教えていただきたいのですが... .
> >
> > Takahashiさんの実験結果からすると,LC_COLLATE の定義に起因してそうには思うのですが,
> >
> > > $ echo "・" | LC_COLLATE=C.UTF-8 grep "[ぁ-ゟ]"
> > > はヒットして期待外の動作ですが
> > > $ echo "・" | LC_COLLATE=C.UTF-8 grep "[ぁ-ゞゟ]"
> > > はヒットしませんね
> >
> > C.UTF-8 での LC_COLLATE の定義が原因だとすると,
> > この現象が理解できないのですが,定義次第でこのようなことが起きるのでしょうか?
> > ぁ, ゞ, ゟ と ・ の大小関係の想像がつきません.
> >
> > もしかして,非日本語圏の方には「ゞ」は濁点つきの文字と理解されていて,
> > 大きなコードが割り当てられていて,
> >
> > ぁ < ゟ < ・ < ゞ
> >
> > となっている,という状況でしょうか???
> > この妙な大小関係が当たっているとすると,
> > [ぁ-ゞゟ] は,実際は [ぁ-ゞ] に含まれてしまっていることになるので,
> > 確かに起こっている現象の説明はつくのですが,C.UTF-8 の LC_COLLATE が,
> > 元の文字コード順を劇的に入れ替えているとは思いづらいです... .
> >
> >
> >
> > 2019年3月2日(土) 21:01 Yoshinaga Hiroyuki <yoshinaga.hiroyuki at nifty.com>:
> > >
> > > On Sat, Mar 02, 2019 at 07:15:43PM +0900, Masakazu Takahashi wrote:
> > > > 原因まではわかりませんが、これは sed ではなく GNU libc、特にその中の
> > > > ロケール定義の違いによる挙動ではないでしょうか。
> > > >
> > > > ためしに Ubuntu 16.04 用の libc-bin パッケージをダウンロードして
> > > > /usr/lib/locale/C.UTF-8/LC_COLLATE ファイルを抜き出し、Ubuntu 18.10 に
> > > > 持ってきて上書きしてみたら、Ubuntu 16.04 の挙動になりました。
> > > 16.04 の環境がないので、同じこと確認できませんでしたが、
> > > $ echo "・" | LC_COLLATE=C.UTF-8 grep "[ぁ-ゟ]"
> > > はヒットして期待外の動作ですが
> > > $ echo "・" | LC_COLLATE=C.UTF-8 grep "[ぁ-ゞゟ]"
> > > はヒットしませんね
> > >
> > > 仰るように sed 固有ではなく GNU ツール共通のようですね
> > >
> > > --
> > > -^.~.^- 吉永博之
> > > ~= ^ =~- yoshinaga.hiroyuki at nifty.com
> > > ^ ~ ^ ~
> > >
> >
> >
> > --
> > // Kenzi NOIKE
>
>
>
> --
> // Kenzi NOIKE
--
Masakazu Takahashi (emasaka)
ubuntu-jp メーリングリストの案内