Einzeiler in Bash.
Show Plain Text
- find . -type d -maxdepth 1 -name \*-1 -execdir sh -c 'i=$(basename "{}" -1) && rsync -av "{}/" "$i"' \; -execdir rm -r "{}" \;
Ich würde es allerdings in zwei Schritte aufteilen, erst zusammenlegen, eventuell überprüfen, dann löschen:
Show Plain Text
- find . -type d -maxdepth 1 -name \*-1 -execdir sh -c 'i=$(basename "{}" -1) && rsync -av "{}/" "$i"' \;
- find . -type d -maxdepth 1 -name \*-1 -execdir rm -r "{}" \;
Vorher ein cd ins entsprechende Verzeichnis, oder find . durch find pfad/zum/verzeichnis ersetzen. Die rsync-Parameter nach Bedarf anpassen.