Como comparar dois arquivos no Linux
- 1995
- 291
- Spencer Emard
À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:
Bandeira | Detalhes |
---|---|
e | É usado para mostrar a saída no script de ED. |
y | Ele exibe a saída em cores |
q | Fornece 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.