Das mit "cd" würde ich nicht machen. Aktuelle Pfade zu verwenden ist meistens keine gute Idee. Wo ist z. B. das cd ..?
Vielleicht so versuchen. Der aktuell verwendete Pfad ist der Start-Pfad und ändert sich nicht. Besser wäre wohl den Pfad direkt im Befehl zu verdrahten. Aber den Start-Pfad kenne ich nicht.
a.) Schauen, dass die korrekten Dateien ausgewählt werden:
(basiert auf deinen Angaben zu Vorgänge/Jahr/Ordner/Datei, Aufruf im Ordner Vorgänge)
b.) Backup nicht vergessen
c.) Befehl im Ordner Vorgänge:
Code: Alles auswählen
find . -maxdepth 3 -name "*.mbox" -exec bash -c 'mkdir -p $(dirname "$1")/alt;cp "$1" $(dirname "$1")/alt;mv -- "$1" "$(dirname "$1")/$(basename "$1" .mbox).eml"' _ '{}' \;
Mit "mkdir -p" wird erreicht, dass beim erneuten Versuch einen Ordner anzulegen kein Fehler ausgegeben wird. Könnte man vielleicht schöner abfangen.
man mkdir hat geschrieben: -p, --parents
no error if existing, make parent directories as needed