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

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



Hallo Stefan,

wie kommst Du auf das Subject? Die Bash hat damit - soweit ich das sehe
- nichts zu tun.


Stefan Bauer <stefan.bauer@cubewerk.de> (Mo 26 Okt 2009 21:23:14 CET):
> Hallo Liste,
> 
> ich hab folgenden Einzeiler:
> 
> sed 's!.*?(asdf[0-9]{5}.png).*!\1!'

  sed 's!.*?\(asdf[0-9]{5}.png\).*!\1!'
 
> Das stinkt sed aber, da die runden Klammern mit denen ich den
> Bereich markiere dazwischen funken. Wie kann ich das lösen? Escapen
> geht nicht, da ich sie ja genauso brauche. Das ganze wird von der
> Bash ausgeführt.
> 
> sed: -e expression #1, char 35: invalid reference \1 on `s'
> command's RHS

Ich nehme an, Du willst einen Bereich markieren zwischen (…) -- und es
ist sed's Vorstellung von RegExp, daß da die runden Klammern eben
„escaped“ werden müssen, weil sie ansonsten einfach nur eben runde
Klammern sind.

    Best regards from Dresden/Germany
    Viele Grüße aus Dresden
    Heiko Schlittermann
-- 
 SCHLITTERMANN.de ---------------------------- internet & unix support -
 Heiko Schlittermann HS12-RIPE -----------------------------------------
 gnupg encrypted messages are welcome - key ID: 48D0359B ---------------
 gnupg fingerprint: 3061 CFBF 2D88 F034 E8D2  7E92 EE4E AC98 48D0 359B -

Attachment: signature.asc
Description: Digital signature


Reply to: