Como comparar o conteúdo de dois diretórios usando o bash?

1

Eu tenho dois diretórios que devem conter os mesmos arquivos e a mesma estrutura de diretórios.

Acho que em um desses diretórios está faltando alguma coisa.

Usando o bash shell, há uma maneira de comparar meus diretórios e ver se em um dos arquivos faltantes que estão presentes no outro?

Tnx

Andrea

    
por AndreaNobili 16.02.2014 / 17:53

2 respostas

3

diff pode passar por diretórios sozinho, em vez de analisar a saída de ls , find ou stat

diff -qr dir1 dir2 | sort

Você receberá uma saída como a seguinte:

Only in dir2: file3

    
por 16.02.2014 / 18:23
0

Provavelmente, o método mais fácil é usar a substituição de comando com o comando diff :

diff <(cd dir1 && find | sort) <(cd dir2 && find | sort)

Isso mostrará as diferenças na listagem de arquivos, se você realmente quiser comparar se o arquivo realmente difere, então você pode preferir diff -brief -rb dir1 dir2

    
por 16.02.2014 / 18:19

Tags