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 messageReceived on Wed 04 Feb 2009 - 10:09:05 CET