Como comparar dois arquivos no Linux

Como comparar dois arquivos no Linux

Às vezes, somos obrigados a comparar dois ou mais de dois arquivos para algumas modificações ou apenas para verificar os erros em dois mesmos arquivos. Em vez de ler os dois arquivos e compará-los com precisão, temos algumas ferramentas embutidas no Linux, o que pode nos ajudar a esse respeito.

Neste artigo, discutiremos as funções internas e algumas ferramentas de terceiros que são usadas para comparar com os arquivos no Linux e como eles funcionam.

Como comparar arquivos no Linux

Para os arquivos de comparação usando os seguintes utilitários:

  • Dif
  • Colordiff
  • Wdiff

O que é comando diff no linux

O comando diff compara dois arquivos por linhas. Também nos ajuda a dizer quais são as diferenças nos arquivos e menciona essas diferenças. Ele sempre compara o primeiro arquivo a outro, o que significa que ele dirá as diferenças que estão no primeiro arquivo comparando -o com o segundo arquivo. Portanto, ele recomendará que você faça alterações no primeiro arquivo (se houver diferença) para combiná -lo com o segundo arquivo.

Existem três letras que podem ser exibidas nos resultados: "Um meio de adicionar", "C significa mudar" e "D significa excluir". A placa "" é usada para mostrar o segundo arquivo.
A sintaxe do comando diff é a seguinte:

 DIFF [Nome do primeiro arquivo] [Segundo Nome do Arquivo] 

Vamos considerar exemplos para entender como esse comando funciona. Criamos dois arquivos de texto na pasta Documentos no Ubuntu 20.04 com o nome I.e. test_file1 e test_file2 tendo o texto mostrado na imagem.

Agora, abriremos o seguinte comando no terminal do Ubuntu 20.04 para descobrir as diferenças. Vá para a pasta onde os arquivos foram salvos.

DIFF TEST_FILE1 TEST_FILE2  

A saída acima nos mostra que existem diferenças nos arquivos acima. O 3A4 significa no 1º arquivo A em uma 3ª linha deve ser adicionado.

Agora, para mais esclarecimentos, execute o seguinte comando:

DIFF TEST_FILE2 TEST_FILE1  

Neste comando, estamos apenas comparando test_file2 com test_file1. Agora vamos olhar para a saída. Nesta saída, o significado de “4d3” significa excluir linha 4 do test_file2 Para corresponder a test_file1.

Existem bandeiras diferentes que nos ajudam a entender as diferenças no arquivo com mais facilidade. Antes de discutir as bandeiras, vamos ver a sintaxe geral de usar bandeiras.

 diff -[flag] [nome do arquivo1] [nome do arquivo2] 

Existem muitas bandeiras usadas para fins diferentes. Discutiremos dois deles aqui em detalhes para entender.

Como visualizar arquivos no modo de contexto usando o comando diff

Para visualizar os resultados no modo de contexto, usaremos o sinalizador "C". Vamos considerar o exemplo anterior e compará -los usando esta bandeira e verifique como funciona.

diff -c test_file1 test_file2  

Nesta saída usando a bandeira, os detalhes da criação do arquivo também são mencionados. ““!” significa que as mudanças são necessárias, "-" significa algo a ser excluído e "+" Vem, significa adicionar algo para corresponder ao primeiro arquivo com o segundo arquivo.

Como o modo unificado funciona usando o comando diff:

É usado para visualizar arquivos no modo unificado. Podemos visualizar usando o sinalizador "u", a diferença entre ele e o modo de contexto é que ele não mostra informações que não são importantes.
Vamos considerar um exemplo.

diff -u test_file1 test_file2  

Então, observamos que essa bandeira está exibindo os resultados de uma maneira precisa para que o leitor possa entendê -los melhor. Na saída acima, o -1,3 significa no primeiro arquivo que você deve excluir "do para -choque" e também adicionar a quarta linha.
Algumas outras bandeiras e seus usos são:

BandeiraDetalhes
eÉ usado para mostrar a saída no script de ED.
yEle exibe a saída em cores
qFornece saída apenas se houver alguma diferença

Podemos ver todas as bandeiras e sua função digitando o seguinte comando no terminal do Ubuntu.

Homem diff  

O que é Colordiff comando?

O funcionamento do Colordiff O comando é o mesmo do comando diff, mas exibe resulta de uma maneira colorida, o que ajuda o usuário a entender facilmente e é um arquivo legível atraente para o leitor.
Vamos considerar o exemplo anterior.

COLORDIFF TEST_FILE1 TEST_FILE2  

A saída é de uma maneira colorida.

O que é Wdiff comando

Ele compara os arquivos palavras por palavra. Ele nos diz quais palavras devem ser adicionadas e também onde ser adicionado para ter os dois arquivos correspondidos. Para entender, considere o exemplo anterior novamente:

wdiff test_file1 test_file2  

A saída é:

Podemos ver na saída que "do pára -choque dianteiro" deve ser excluído e "o carro deve ser reparado" adicionado. Mas não conta em qual linha. Esta é a diferença entre "Wdiff" e "Dif".

Ferramentas de terceiros podem ser usadas para fins de comparação de dois arquivos no Linux. A ferramenta amplamente usada é Vimdiff.

Compare arquivos com Vimdiff

Também podemos usar o editor Vim para comparar dois arquivos no Linux. Para esse fim, primeiro instalamos o editor do VIM como:

sudo apt install vim  

Agora comparamos os arquivos anteriores usando o vim editor.

vimdiff test_file1 test_file2  

A saída é exibida como:

Vemos a saída em uma tabela e destacada pelas cores. A parte que deve ser adicionada é destacada na cor azul e “-“ na cor azul mostra onde o conteúdo deve ser adicionado.

Fora isso, existem muitos editores de terceiros, que podem ser usados ​​para a comparação de dois arquivos no Linux, por exemplo, Kompare, Diff mescle, Diflui-GUI Tool, etc.

Conclusão

Nesta época, todo mundo quer facilidade na vida, portanto, em vez de comparar arquivos de palavra em palavra, gostaríamos de compará -los com algumas ferramentas para que possam nos fornecer resultados precisos em menos tempo. Neste artigo, discutimos como podemos comparar dois arquivos no Linux usando seus comandos internos e as ferramentas de terceiros.