Re: Problem mit "sed" und gesetzter LANG, LC_ALL
On Sat, Feb 15, 2003 at 06:20:52PM +0100, Michael Piefel wrote:
> * Quoting Johannes Hölzl <johannes.hoelzl@gmx.de>:
[...]
> > $ env LANG=de_DE echo Diii | sed 's/\([A-Z]\)/_\1/g'
> > _D_i_i_i
> > $ env LANG=C echo Diii | sed 's/\([A-Z]\)/_\1/g'
> > _Diii
> >
> > Hier dürfte es doch keine unterschiede geben. Oder ?
>
> Doch. LC_COLLATE bestimmt die Sortierreihenfolge. In C gibt's da nur die
> ASCII-Werte, daher gilt [A-Z]=[ABCDE-WXYZ]. Andere Locales wissen mehr,
> und dann ist [A-Z]=[AbBcCdD-xXyYzZ] (ohne 'a'!); das ist sehr schön beim
> Sortieren, aber natürlich Blödsinn in der Shell - aber da kann man
> nichts machen.
[...]
echo Diii | sed 's/\([[:upper:]]\)/_\1/g'
Ich kann das Problem hier mit de_AT (de_DE habe ich nicht) uebrigens gar
nicht nachvollziehen.
ii locales 2.2.5-11.2 GNU C Library: National Language (locale) da
ii sed 3.02-8 The GNU sed stream editor.
cu andreas
Reply to: