Eu tenho duas árvores de diretório com layouts semelhantes, ou seja,
.
|-- 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
Gostaria de mesclar as árvores de diretório dir1 e dir2 para criar:
merged/
|-- a
| |-- file1.txt
| |-- file2.txt
| |-- file5.txt
| `-- file6.txt
|-- b
| |-- file3.txt
| |-- file7.txt
| `-- file8.txt
`-- c
|-- file10.txt
|-- file4.txt
`-- file9.txt
Sei que posso fazer isso usando o comando "cp", mas quero mover os arquivos em vez de copiar, porque os diretórios reais que quero mesclar são muito grandes e contêm muitos arquivos (milhões). Se eu usar "mv", recebo o erro "O arquivo existe" devido a nomes de diretório conflitantes.
ATUALIZAÇÃO: Você pode assumir que não há arquivos duplicados entre as duas árvores de diretório.