tr und Regular Expressions

David Christopher Weichert dcweichert at freenet.de
Sat Apr 3 11:43:21 CEST 2004


Am Sam, 2004-04-03 um 10.35 schrieb Jonas Schrieb:
> On Fri, Apr 02, 2004 at 06:50:45PM +0200, David Christopher Weichert wrote:
> Also das, was du da oben schreibst (mit 3 Backslashes statt 2) finde ich
> sehr verwunderlich und ich kann es auch nicht reproduzieren. Bei mir
> klappt es mit 2 Backslashes wunderbar.
> 
Das hatte mich eben auch gewundert. Erklären kann ichs erst recht nicht,
aber auch echo -E $1 gibt mir für beides *identische* Ausgaben...

> Die Bash ersetzt einige Sonderzeichen und so auch die Backslashes
> (deshalb muss man dann ja "escapen"). Was genau passiert, kann man sich
> durch folgendes Miniscript gut veranschaulichen:

Danke für den Tipp, das hat mich echt weitergebracht.

> test.sh
> /-------
> | #!/bin/sh
> | echo -E $1
> \-------

> jonas at nr5:~$ ./test.sh "[a-z0-9_~+\-]"
> [a-z0-9_~+\-]

Das ist die Lösung, die auch bei mir funktioniert, wie erwartet und
deren Verhalten ich für erklär- und reproduzierbar halte. Manchmal bin
ich einfach zu blöd, die Anführungszeichen hätte ich mir auch selbst
denken können ;-) *Nochmal Vielen Dank*

> Warum das bei dir jetzt anders laeuft, weiss ich nicht. Also bei mir
> sind es die Standardversionen von Debian unstable:
> 
> GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
> tr (coreutils) 5.0.91

Ich habe Mandrake 9.1:

GNU bash, version 2.05b.0(1)-release (i586-mandrake-linux-gnu)
tr (coreutils) 4.5.7

Mag sein, daß das der Grund ist.


Viele Grüße und schönes WE
David
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
URL: <http://lug-owl.de/pipermail/linux/attachments/20040403/4cb11b20/attachment.sig>


More information about the Linux mailing list