Oliver Fromme schrieb:
> 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.
Ja, da habe ich Glück, es ist genau so wie du hier angenommen hast.
> 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
Danke! Das %% ist ziemlich abgefahren, hatte ich nicht auf den Zettel!
Ich habe jetzt folgendes gemacht:
find -E . -type d -mindepth 1 -maxdepth 2 \
-regex '^.*[-][0-9]{2}[-][0-9]{4}.*$' | \
while read SRC; do \
DST="${SRC%%[-_ ][^0-9]*}"; \
echo "Quelle: $SRC"; \
echo "Ziel: $DST"; \
echo ""; \
done \
> ~/action_out.txt
Ergebnis (Auszug):
Quelle: ./2007/UI-07-6035 Jobbezeichnung
Ziel : ./2007/UI-07-6035
Quelle: ./2007/UI-07-6087 Job_Bezeichnung
Ziel : ./2007/UI-07-6087
Quelle: ./2007/UI-07-6096 Job Bezeichnung
Ziel : ./2007/UI-07-6096
Quelle: ./2007/UI-07-8246 Job-Bezei chnu_ng
Ziel : ./2007/UI-07-8246
Quelle: ./2007/UNIP-07-4811 Jöbbeßeichnüng
Ziel : ./2007/UNIP-07-4811
Das sieht doch schonmal ganz ordentlich aus; und hat für ca. 2650 Ordner
auch nur einen Augenaufschlag benötigt. Erstmal heute Abend ein Backup
machen und dann lass ich das mal mit "mv" laufen.
Besten Dank Olli.
-- Timm To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Thu 29 Jan 2009 - 14:52:19 CET