[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Klammern in regex-Ausdruck von sed stört bash



Stefan Bauer <stefan.bauer@cubewerk.de> (Mo 26 Okt 2009 21:41:39 CET):
> Heiko Schlittermann schrieb:
> > Die Funktion haben sie genau dann, *wenn* Du sie escapest! (Das hatte
> > ich versucht, in meiner Mail zu formulieren).
> 
> Mit perl klappt mein Beispiel problemlos so wie ich es mir vorstelle
> nur steht perl auf der Maschine nicht zur Verfügung:
> 
> perl -pe 's!.*?(asdf[0-9]{5}.png).*!\1!'
> 
> Wenn ich ... verwende, meckert sed:
> 
> sed 's!.*?(asdf[0-9]{5}.png).*!\1!'
> 
> Wenn ich escape, geht die Gruppierungsfunktion flöten.
> Ich steh auf dem Schlauch.

Vielleicht auch, weil Dein Ausdruck - bei genauerer Betrachtung, nicht
zum sed passt.  Nicht nur die runden, sondern auch die gewschweiften
Klammern brauchen einen Backspace davor. Mit der Shell hat das nichts zu
tun.

Bei .*? (minimal matching) bin ich mir nicht sicher, wenn, dann das ?
mit einem Backslash versehen.

-- 
Heiko

Attachment: signature.asc
Description: Digital signature


Reply to: