Note: Due to technical difficulties, the Archives are currently not up to date.
GMANE provides an alternative service for most mailing lists. c.f. bug 424647
List Archive: gentoo-user-de
Hallo,
Am Montag, 3. April 2006 02:37 schrieb Jan C. Potthoff:
> ich will in einem Shellskript aus Dateinamen u.a. Klammern und was
> zwischen Ihnen steht herausfischen.
>
> Aus "foo_(weg_damit)_bar.txt" soll "foobar.txt" werden.
>
> Vor und hinter den Klammern stehende Underscores sollen auch entfernt
> werden.
>
> Mittels sed bin ich soweit schon gekommen (eckige Klammern sollen auch
> mit raus):
>
> nfname=`echo "$fname" | sed 's/\(_*(.*)_*\)\|\(_*\[.*\]_*\)//g'`;
Nicht probiert, aber versuch mal:
nfname=`echo "$fname" | sed 's/\(_*([^)(]*)_*\)\|\(_*\[[^\]\[]*\]_*\)//g'`;
werden natürlich geschachtelte Klammern nicht mehr entfernt..
> Ein Problem ergibt sich nun, wenn mehr als ein "Klammernpaar" gleichen
> Typs, also () oder [], im Dateinamen auftaucht.
>
> "foo_(weg_damit)_behalten_(auch_weg)_bar.txt" wird nun zu "foobar.txt"
> anstatt zu "foobehaltenbar.txt". Das RegEx scheint noch zu gierig zu sein.
Viele Grüße
Eckard
--
gentoo-user-de@g.o mailing list
|
|