Como comparar dois ficheiros no Linux?

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.

tree command

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:

Bash
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:

Bash
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:

Bash
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:

Bash
diff -qrs DIRETÓRIO1 DIRETÓRIO2

Artigos Relacionados