Bash: Großbuchstaben in Kleinbuchstaben ab 2. Buchstaben
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. Ich kenne zwar zB tr '[:upper:]' '[:lower:]' aber damit wird es kompliziert, da man jedes Wort in 2 Teile splitten muss. Kennt wer eine simple Lösung, es muss nicht tr sein. Al -- 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
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
participants (2)
-
Al Bogner
-
David Haller