[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: