Muitas vezes é preciso comparar diferentes versões de um mesmo arquivo para identificar as mudanças. Uma maneira eficiente para fazer isso é utilizar ferramentas de comparação que verificam arquivos ou pastas e mostram as diferenças entre eles que pode ajudar você a comparar suas pastas de backup pessoal, por exemplo. No Linux, você pode comparar os arquivos usando uma ferramenta de linha de comando ou instalando um aplicativo gráfico.
DIFF
A ferramenta diff faz parte do pacote diffutils, presente nos repositórios de todas as principais distribuições Linux. É uma ferramenta simples que compara arquivos de texto linha por linha e também pode comparar arquivos em duas pastas. Se os arquivos selecionados são idênticos, diff não imprime nenhuma saída; e você pode ajustar algumas opções, tais como: ignorar o espaço em branco ou diferenciar maiúsculas de minusculas.
A sintaxe geral é:
diff -opcoes arquivo1 arquivo2
Por exemplo, para comparar dois arquivos ignorando diferenças no caso de letras e os espaços em branco, use o comando abaixo:
> zxczcxc (contem no arquivo 2 e nao tem no arquivo 1) > fffff (contem no arquivo 2 e nao tem no arquivo 1) < (contem nos dois arquivos) --- > dfgc (contem no arquivo 2 e nao tem no arquivo 1) > aaa (contem no arquivo 2 e nao tem no arquivo 1)
COLORDIFF
A ferramenta colordiff modifica a saída do comando diff, colorindo a saída do comando; a fim de facilitar sua compreensão. O pacote colordiff está disponível nos repositórios da maioria das distribuições. O colordiff tem as mesmas opções que diff, e você pode usá-lo através da seguinte sintaxe:
colordiff -opcoes arquivo1 arquivo2
Para instalar o colordiff nas distros Debian, execute:
E execute no terminal para olhar a diferença entre as saídas:
WDIFF
Outra alternativa para comparação de arquivos é o uso da ferramenta wdiff que pode comparar arquivos, além de linha por linha, palavra por palavra na linha. Você também pode combinar colordiff e wdiff para obter uma saída com cores para diferenciar o conteúdo dos arquivos de texto:
[-fs-]{+dfsfsd+} (contem nessa linha do arquivo 1 parte da palavra da mesma linha do arquivo 2 = fs) {+fsd+} (contem no arquivo 2 e nao tem no arquivo 1) {+fsd+} (contem no arquivo 2 e nao tem no arquivo 1) [6 (contem nos dois arquivos) {+46456[66+} (contem no arquivo 2 e nao tem no arquivo 1) {+fdgdfg+} (contem no arquivo 2 e nao tem no arquivo 1)
DIFFUSE
A ferramenta diffuse é muito poderosa comparada a outras ferramentas. Com ela você pode comparar um número ilimitado de arquivos e resumir as diferenças entre eles. Além disso, você pode editar arquivos diretamente no programa e fazer mesclagem entre os conteúdos. Ele também suporta (limitado) destaque de sintaxe e oferece integração com diversos sistemas de controle de versão – incluindo Git e Subversion. Tem suporte ao Linux, Windows e Mac OS X, e você pode baixar os pacotes de instalação aqui.
Para instalar o diffuse nas distros Debian, execute:
DIFFMERGE
Com suporte ao Linux, Windows e Mac OS X, a ferramenta diffmerge permite você editar os arquivos diretamente no diffMerge, mesclar automaticamente versões de arquivos e exportar as diferenças entre os arquivos para um novo arquivo. Além disso, pode comparar até três arquivos e duas pastas e mostrar se os arquivos são idênticos. Você pode baixar os pacotes de instalação aqui.
MELD
A ferramenta meld é útil para comparação e mesclagem visual de arquivos voltada para desenvolvedores. Mas você pode usar o programa para comparar suas pastas de backup pessoal. Meld ajuda a comparar arquivos, diretórios e projetos comparando as versões. Ele fornece dois e três vias de comparação de arquivos e diretórios, tem suporte para vários sistemas de controle de versão. Meld funciona em Linux, Mac OS X e Windows. Você pode baixar os pacotes de instalação aqui.
Para instalar o meld nas distros Debian, execute:
alguém conhece algum programa que compare dois arquivos xml ( p.ex. de NFe )