Ich habe zwei Verzeichnisbäume mit ähnlichen Layouts, dh
.
|-- dir1
| |-- a
| | |-- file1.txt
| | `-- file2.txt
| |-- b
| | `-- file3.txt
| `-- c
| `-- file4.txt
`-- dir2
|-- a
| |-- file5.txt
| `-- file6.txt
|-- b
| |-- file7.txt
| `-- file8.txt
`-- c
|-- file10.txt
`-- file9.txt
Ich möchte die Verzeichnisbäume dir1 und dir2 zusammenführen, um Folgendes zu erstellen:
merged/
|-- a
| |-- file1.txt
| |-- file2.txt
| |-- file5.txt
| `-- file6.txt
|-- b
| |-- file3.txt
| |-- file7.txt
| `-- file8.txt
`-- c
|-- file10.txt
|-- file4.txt
`-- file9.txt
Ich weiß, dass ich dies mit dem Befehl "cp" tun kann, aber ich möchte die Dateien verschieben, anstatt sie zu kopieren, da die tatsächlichen Verzeichnisse, die ich zusammenführen möchte, sehr groß sind und viele Dateien (Millionen) enthalten. Wenn ich "mv" verwende, erhalte ich den Fehler "Datei existiert", weil in Konflikt stehende Verzeichnisnamen vorliegen.
UPDATE: Sie können davon ausgehen, dass sich zwischen den beiden Verzeichnisbäumen keine doppelten Dateien befinden.