cp diretórios e arquivos, preservando diretórios e sobrescrevendo arquivos

2

Eu tenho uma estrutura de diretórios como esta: dirHome e dentro dela eu tenho dir1 , dir2 , dir3
. Todos esses diretórios ( dir1 , dir2 , dir3 ) têm, cada um, 3 arquivos dentro de: arquivo1, arquivo2, arquivo3.
Eu tenho outra cópia do dirHome chamado dirHome2 que tem exatamente a mesma estrutura de diretório, mas dentro do dir1 , dir2 , dir3 possui 4 arquivos: file1, file2, file3, file4.

Eu quero copiar dirHome para dirHome2 , mantendo a estrutura de diretórios como está, sobrescrevendo os arquivos que duplicam (file1, file2, file3) e mantendo os arquivos que não existem em dirHome mas existem em dirHome2 (file4).

    
por ItM 21.10.2015 / 06:47

1 resposta

4

Você pode usar cp ou rsync . Eu costumo usar rsync para esse tipo de tarefa, pois rsync irá, por padrão, sobrescrever arquivos com os mesmos nomes no destino ao verificar o tamanho e a hora da modificação:

rsync -av dirHome/ dirHome2/ 

Se os arquivos a serem sobrescritos forem do mesmo tamanho e tiverem o mesmo registro de data e hora de modificação, você poderá sobrescrevê-los com vigor usando a opção --ignore-times :

rsync -av --ignore-times dirHome/ dirHome2/
    
por heemayl 21.10.2015 / 07:03