Hallo, Am Son, 18 Feb 2007, Al Bogner schrieb:
Ich möchte komplette Sätze so wandeln, dass ab dem 2. Buchstaben eines Wortes alles in Kleinbuchstaben gewandelt wird.
zB ;-) PERL WINKT MIT dem Zaunpfahl -> Perl Winkt Mit dem Zaunpfahl
Man beachte: "MIT" wird zu "Mit" und "dem" bleibt "dem"
Die Anzahl der Worte sind also unbekannt.
$ echo 'PERL WINKT MIT dem Zaunpfahl. ÄCHT?' | awk -F"[[:space:]]" '{ i=1; while( i <= NF ) { if( $i ~ /^[[:upper:]]/ ) { f=substr($i, 1, 1); r=tolower(substr($i,2)); $i = f r; } i++; } print; }' Perl Winkt Mit dem Zaunpfahl. Ächt? $ echo 'PERL WINKT MIT dem Zaunpfahl. ÄCHT?' | perl -Mlocale -pe ' s/\b([[:upper:]]\w+)\b/\u\L$1/g' Perl Winkt Mit dem Zaunpfahl. Ächt? $ Das 'use locale' (-Mlocale) ist wichtig damit Umlaute richtig behandelt werden. HTH, -dnh -- Interpunktion und Orthographie des Postings ist frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt. -- 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