Como se comparam dois ficheiros no Linux? Utiliza-se o comando diff.
Mas como se comparam duas pastas no Linux? Continua-se a utilizar o comando diff.
Neste tutorial, vou partilhar como pode utilizar o comando diff para comparar diretórios.
O comando tree mostra as estruturas das duas pastas que utilizo nos exemplos.
Comparar dois diretórios
Para usar o comando diff
, deve seguir uma sintaxe simples:
diff -qr Diretorio-1 Diretorio-2
Para encontrar as diferenças entre dois ficheiros com o comando diff
e relatar apenas quando uma diferença é encontrada, pode usar a opção -q
da seguinte forma:
diff -q FICHEIRO1 FICHEIRO2
Com a opção -q
, o comando diff
irá relatar apenas se houver uma diferença entre os dois ficheiros. Se não houver diferenças, não será exibida nenhuma saída.
Mas se observar atentamente, o comando diff
apenas analisou o nível de ficheiros 1. Por padrão, ele não examinará os ficheiros dentro dos subdiretórios.
Para realizar a pesquisa incluindo os subdiretórios, terá que usar a opção -r
da seguinte forma:
diff -qr DIRETÓRIO1 DIRETÓRIO2
Mas e se quiser saber também os ficheiros semelhantes? Pode fazer isso facilmente usando a opção -s
. Portanto, se usar ambas as opções -q
e -s
, mostrará tanto os ficheiros idênticos quanto os diferentes nos diretórios:
diff -qrs DIRETÓRIO1 DIRETÓRIO2