Re: Shellscript-Frage

From: Matthias Fechner <idefix(at)fechner.net>
Date: Sun, 8 Dec 2002 13:33:41 +0100

Hallo Christian,

* Christian Lackas <c.lackas(at)kfa-juelich.de> [07-12-02 13:59]:
> dann würdest du
>
> $var =~ tr/ //s;
>
> benutzen und das ist natürlich viel schneller als mit regulären
> Ausdrücken und dem s/// Operator rumzuhantieren, da es nur mit echten
> Zeichen arbeitet. Du kannst es ja mal ausprobieren:
>
> perldoc Benchmark

Werde ich auf jeden Fall mal ausprobieren.

> BTW: Hast du dein »$foo=~s/\s+/\s/g;« mal ausprobiert? Das wird nicht
> wirklich das tun, was du vorhattest:

Nein, habs auch grad gesehen, statt dem zweiten \s muss ein ' ' rein.

> Zum einen steht \s für eine ganze Zeichenklasse (Leerzeichen, LineFeed,
> CarriageReturn, FormFeed) ersetzt also mehr als du wolltest (z.B. auch

Ja, da hast du schon recht, aber da die Zeile, die ich bearbeiten will
nur Leerzeichen und ein paar Zahlen und Buchstaben enthält, stört mich
das nicht.

> $foo =~ s/ +/ /g;
>
> Aber hier ist die Verwendung von tr/// nicht nur kürzer sondern auch
> noch schneller, daher soll man darauf zurückgreifen.

Danke, ich werde es mir für die Zukunft merken.

-- 
Gruss
Matthias
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 08 Dec 2002 - 13:33:48 CET

search this site