Você deve usar rsync
. Algo como rsync -rv $old/ $new/
deve fazer o truque: isso irá imprimir os arquivos que serão copiados.
Execute com -n
adicional para uma execução a seco antes de realmente modificar o novo diretório.
Eu tenho dois diretórios que são versões diferentes do mesmo pacote de software. Gostaria de listar todos os arquivos / diretórios que foram alterados entre os dois e depois copiar essas diferenças para um novo diretório.
Eu tenho tentado scripts diferentes com md5sum
e diff -Nurq
, mas não consegui o resultado que estou procurando.
Alguma recomendação?
A melhor ferramenta que eu encontrei é usar o vim com o plugin DirDiff . Se você usa vim
e vimdiff
, esse plug-in será fácil de aprender.
O autor descreve da seguinte forma:
description
This is a utility that performs a recursive diff on two directories and generate a diff "window". Based on that window you can perform various diff operations such as opening two files in Vim's diff mode, copy the file or directory recursively to the other, or remove the directory tree from the source directory.
O DirDiff é como usar vimdiff
para comparar dois diretórios e todos os subdiretórios e arquivos contidos nele. Eu uso essa ferramenta frequentemente para comparar diferentes ramificações do Subversion, diretórios de configuração em hosts diferentes, etc.
Para uma captura de tela, veja o blog da dedm: link
Tags command-line