Mailinglist Archive: opensuse-de (5757 mails)
| < Previous | Next > |
Re: Konvertierung Klein/Gross-Schreibung
- From: David Haller <david@xxxxxxxxxx>
- Date: Mon, 7 Oct 2002 20:37:44 +0200
- Message-id: <20021007183744.GA10946@xxxxxxxxxxxxxxxxxx>
Hallo,
On Mon, 07 Oct 2002, Helga Fischer wrote:
>Hallo Bernd,
Du meinst Bernhard, oder? ;)
>Am Montag, 7. Oktober 2002 14:32 schrieb Bernhard Walle:
>> On Mon, 07 Oct 2002 at 10:37 (+0200), Helga Fischer wrote:
>> > ich komm' einfach nicht mehr drauf. Gab es nicht ein
>> > Kommandozeilen-Tool, das aus kleinen Buchstaben große macht und
>> > aus großen Buchstaben kleine?
>
>> Es wurden ja schon einige Lösungen vorgeschlagen, die sind alle
>> recht nett nur leider umbrauchbar, da sie mit Umlauten nicht
>> zurecht kommen.
Was is'n dein tr fuer ein Teil??? Mein tr kann das.
$ tr --version
tr (GNU textutils) 2.0.10
>> Vorschlag:
>>
>> perl -pe 'use locale;s#(\w)#$x=$1;($x=~/[[:lower:]]/)? uc($x) :
>> lc($1)#eg'
>
>Fein, ein bißchen Perl.
Aber ueberfluessig *eg* (und ja, ich mag perl! Ziemlich sogar :)
>> Aus Täst wird z. B. tÄST (so habe ich die Frage verstanden).
>
>Stimmt, genau so hatte ich es gemeint. Bei passender Gelegenheit
>will ich doch noch eine schöne Mail loswerden, die so richtig
>leserlich ist *ggg*
$ echo 'Täst' | tr '[:lower:][:upper:]' '[:upper:][:lower:]'
tÄST
$ echo $LANG
en_US.ISO_8859-15
d.h. tr kann sogar bei en_US damit umgehen!
Aus 'tr --help':
====
Usage: tr [OPTION]... SET1 [SET2]
[..]
SETs are specified as strings of characters. Most represent themselves.
Interpreted sequences are:
[..]
CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order
[CHAR*] in SET2, copies of CHAR until length of SET1
[CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0
[:alnum:] all letters and digits
[:alpha:] all letters
[:blank:] all horizontal whitespace
[:cntrl:] all control characters
[:digit:] all digits
[:graph:] all printable characters, not including space
[:lower:] all lower case letters
[:print:] all printable characters, including space
[:punct:] all punctuation characters
[:space:] all horizontal or vertical whitespace
[:upper:] all upper case letters
[:xdigit:] all hexadecimal digits
[=CHAR=] all characters which are equivalent to CHAR
[..]
====
Der Witz ist: Auch perl hat ein 'tr' operator (als alias fuer 'y'):
perl -pe 'y/a-z/A-Z/' oder perl -pe 'tr/a-z/A-Z/'
und aehnliches... Aber obiges à la 'tr' geht dann doch nicht, da perl
scheinbar die Charakterklassen dort nicht interpretiert...
-dnh
--
"You know, I'm almost convinced that Matt
is just the Australian branch office of me."
-- Dave Brown, clearly disturbed.
On Mon, 07 Oct 2002, Helga Fischer wrote:
>Hallo Bernd,
Du meinst Bernhard, oder? ;)
>Am Montag, 7. Oktober 2002 14:32 schrieb Bernhard Walle:
>> On Mon, 07 Oct 2002 at 10:37 (+0200), Helga Fischer wrote:
>> > ich komm' einfach nicht mehr drauf. Gab es nicht ein
>> > Kommandozeilen-Tool, das aus kleinen Buchstaben große macht und
>> > aus großen Buchstaben kleine?
>
>> Es wurden ja schon einige Lösungen vorgeschlagen, die sind alle
>> recht nett nur leider umbrauchbar, da sie mit Umlauten nicht
>> zurecht kommen.
Was is'n dein tr fuer ein Teil??? Mein tr kann das.
$ tr --version
tr (GNU textutils) 2.0.10
>> Vorschlag:
>>
>> perl -pe 'use locale;s#(\w)#$x=$1;($x=~/[[:lower:]]/)? uc($x) :
>> lc($1)#eg'
>
>Fein, ein bißchen Perl.
Aber ueberfluessig *eg* (und ja, ich mag perl! Ziemlich sogar :)
>> Aus Täst wird z. B. tÄST (so habe ich die Frage verstanden).
>
>Stimmt, genau so hatte ich es gemeint. Bei passender Gelegenheit
>will ich doch noch eine schöne Mail loswerden, die so richtig
>leserlich ist *ggg*
$ echo 'Täst' | tr '[:lower:][:upper:]' '[:upper:][:lower:]'
tÄST
$ echo $LANG
en_US.ISO_8859-15
d.h. tr kann sogar bei en_US damit umgehen!
Aus 'tr --help':
====
Usage: tr [OPTION]... SET1 [SET2]
[..]
SETs are specified as strings of characters. Most represent themselves.
Interpreted sequences are:
[..]
CHAR1-CHAR2 all characters from CHAR1 to CHAR2 in ascending order
[CHAR*] in SET2, copies of CHAR until length of SET1
[CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0
[:alnum:] all letters and digits
[:alpha:] all letters
[:blank:] all horizontal whitespace
[:cntrl:] all control characters
[:digit:] all digits
[:graph:] all printable characters, not including space
[:lower:] all lower case letters
[:print:] all printable characters, including space
[:punct:] all punctuation characters
[:space:] all horizontal or vertical whitespace
[:upper:] all upper case letters
[:xdigit:] all hexadecimal digits
[=CHAR=] all characters which are equivalent to CHAR
[..]
====
Der Witz ist: Auch perl hat ein 'tr' operator (als alias fuer 'y'):
perl -pe 'y/a-z/A-Z/' oder perl -pe 'tr/a-z/A-Z/'
und aehnliches... Aber obiges à la 'tr' geht dann doch nicht, da perl
scheinbar die Charakterklassen dort nicht interpretiert...
-dnh
--
"You know, I'm almost convinced that Matt
is just the Australian branch office of me."
-- Dave Brown, clearly disturbed.
| < Previous | Next > |