Hallo, Am Mon, 30 Aug 2010, Al Bogner schrieb:
Am Mo, 30 Aug 2010 15:50:41 CEST schrieb David Haller:
Am Mon, 30 Aug 2010, David Haller schrieb: [..]
C&P Fehler:
perl -ne 'use Encode; $_ = decode("ut8", $_); $_ = decode("utf8", $_);
s/[^\x{0370}-\x{03FF}]//g; print encode("utf8",$_);'
Soweit ich das hier testen kann sollte das klappen ;)
$ echo 'äöü µ' | recode latin9..utf8 | perl -ne 'use Encode; $_=decode("8", $_);s/[\x{00F5}-\x{00FF}]//g; print $_=decode("utf8", $_);
Wenn ich ein recode oder iconv mit tr verwende, dann ist das sicher ein Lösungsansatz, aber der kommt mir vor als ob man mit Kanonen auf Spatzen schießt. Wie schon geschrieben, es geht nur darum, kommen _irgendwelche_ griechischen Zeichen in einer Variable vor oder nicht.
Das recode ist nur, weil ich hier latin9 im xterm verwende und nicht utf8. Wenn du utf8 in der Variablen hast: echo "$SONDERZEICHEN" | perl -ne 'use Encode; $_ = decode("utf8", $_); s/[^\x{0370}-\x{03FF}]//g; print encode("utf8",$_);' Ausgabe ist _nur_ aus dem griechischen Unicode-Block U+0370 bis U+03FF. Ansonsten ist die Ausgabe leer. Äh, evtl. braucht's noch ne Sonderbehandlung für den Zeilenumbruch, und anderen Leerraum, den will man wohl aufheben. s/[^\x{0000}-\x{0020}\x{0370}-\x{03FF}]//g; Das hebt erstmal den Sonderzeichenblock bis zum Leerzeichen und dazu noch den gr. Block auf. HTH, -dnh -- Hey, what do you expect from a culture that *drives* on *parkways* and *parks* on *driveways*? -- Gallagher -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org