Morgen
http://www.heise.de/ix/artikel/2001/09/139/
Zitat:
Geht es nach POSIX, soll der Benutzer Zeichenbereiche (‘range expressions’) wie [A-Z] in Shell-Mustern und regulären Ausdrücken nicht mehr verwenden, weil deren Bedeutung mit der eingestellten Landessprache variiert. Hat die Umgebungsvariable LANG den Wert de_DE, findet grep ‘[A-Z]’ nicht mehr nur die Versalien, sondern fast alle Buchstaben, einschließlich des ‘ß’ und der Umlaute; lediglich das kleine ‘a’ bleibt unerkannt. Ist dagegen LANG=C eingestellt oder die Variable nicht gesetzt, verhält sich grep wie gewohnt.
Eine Frage zu ^^^^, zweite Ausgabe, der folgenden Zeilen wird benötigt.
shell> locale | grep ^LANG
LANG=de_DE.UTF-8
shell> VAR=01234abcdeABCDE
shell> echo ${VAR//[A-Z]}
01234a -> :-((
shell> eval LANG=C echo ${VAR//[A-Z]}
01234abcde -> :-))
Ist für ein Skript, welches auch in de_DE.UTF-8 laufen soll.
Kann doch nun nicht, das komplette Skript auf LANG=C (HEAD) setzen, da würde die Internationalisierung nicht mehr funktionieren...
Gibt es hier eine Alternative, ohne das ich vor jeden Befehl, ein LANG=C setzen muß?
LG Ronny