Re: Ordner umbenenenn (find, regexp und mv) leicht OT

From: Timm Wimmers <timm(at)ticore.de>
Date: Wed, 04 Feb 2009 10:08:55 +0100

Oliver Fromme schrieb:
> Timm Wimmers wrote:
> > Gegeben sind eine beliebige Anzahl von Ordnern nach folgendem Schema:
> >
> > "IRGENDEINKUNDE-01-1234 JOBBEZEICHNUNG"
> >
> > Das Erkennungsmuster ist hier "-01-1234", der vordere Teil wird noch
> > benötigt, der hintere Teil soll abgeschnitten werden.
>
> Also, das Entscheidende ist, die Trennstelle eindeutig zu
> identifizieren. Deiner Beschreibung nach würde ich sagen,
> dass der Ausdruck [-_ ][^0-9] eindeutig sein sollte, d.h.
> eines der Zeichen "-", "_" oder " " gefolgt von einem
> Zeichen, das keine Ziffer ist.
>
> Ist das soweit korrekt? Kommt diese Kombination sonst
> nirgends in den Dateinamen vor? Dann sollte folgendes
> gehen:
>
> find ... | while read SRC; do
> DST="${SRC%%[-_ ][^0-9]*}"
> mv "$SRC" "$DST"
> done

Moin,

das hat, bis auf ein paar Ausnahmen, super funktioniert. Sehr schön!

Die Ausnahmen waren natürlich Ordner die dann an der zu trennenden
Stelle doch ein [-_ ] oder ein [0-9] stehen hatten. Oder ganz böse: am
Ende des Dateinamens ein Leerzeichen hatten (das schaffen nur
MAC-Benutzer ziemlich regelmäßig; die machen da auch gern mal sowas wie
[*!?] - ganz übel). ;-)

Also mit ein paar händischen Korrekturen war das ganze in in wenigen
Minuten erledigt.

Besten Dank.

-- 
Gruß, Timm
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 04 Feb 2009 - 10:09:05 CET

search this site