sed und uppercase

20/04/2011 - 12:12 von Jan Schmidt | Report spam
Hallo Leute,

gibt es für non-gnu-sed einen Ersatz für


echo 'abc "abc_C"' |sed 's/\([a-z]*\)_C/\U\1\E_C/'


abc "ABC_C"

y ist ungeeignet, weil es wie tr alle Vorkommen ersetzt. Auch
für awk habe ich jetzt keine Idee.

BTW: warum funktioniert das nicht, wenn ich anstelle des * ein +
nehme (ich wollte das 0-Vorkommen ausschließen)?

Gruss, Jan
 

Lesen sie die antworten

#1 Michael Ottenbruch
20/04/2011 - 16:38 | Warnen spam
Am Wed, 20 Apr 2011 03:12:25 -0700 (PDT), schrieb Jan Schmidt:

Hallo Leute,

gibt es für non-gnu-sed einen Ersatz für

> echo 'abc "abc_C"' |sed 's/\([a-z]*\)_C/\U\1\E_C/'
abc "ABC_C"

y ist ungeeignet, weil es wie tr alle Vorkommen ersetzt. Auch
für awk habe ich jetzt keine Idee.

BTW: warum funktioniert das nicht, wenn ich anstelle des * ein +
nehme (ich wollte das 0-Vorkommen ausschließen)?



Weil sed kein + kennt. :-) Wenn Du mindestens ein Vorkommen haben
willst, lautet es: 's/\([a-z][a-z]*\)_C/\U\1\E_C/'
...und tschuess!

Michael
E-mail:

Ähnliche fragen