A maneira mais fácil de mesclar pastas de uma maneira, por exemplo
Merge everything from folder 1 → folder 2
seria usar rsync
.
rsync -avh folder1/* folder2/
Isto irá:
- move todos os arquivos que existem apenas na pasta 1 e seus subdiretórios para a pasta 2
- não sobrescrever qualquer coisa na pasta 2 se já estiver lá
- sobrescreve arquivos que foram alterados, a menos que adicione a opção
--ignore-existing
- não exclua nada da pasta 2, a menos que adicione a opção
--delete
Sinta-se à vontade para adaptar isso à sua situação (onde folder1
e folder2
são o contrário, eu acho).
Você pode tentar ver o que o comando faz chamando:
rsync -avh --dry-run folder1/ folder2/
A opção dry-run
mostra o que ela faz.
Não se esqueça de que as barras invertidas têm um significado especial, por isso folder2/
, pois o destino não é igual a folder2
. Verifique a página de manual de rsync
para uso e mais opções.
Também é recomendado -P
(de acordo com --help
, same as --partial --progress
), que adiciona show progress during transfer
e keep partially transferred files
(o que é útil para novas tentativas se houver uma falha).