Show
Este artigo explica como usar o Linux para comparar dois arquivos e mostrar as diferenças entre os arquivos na tela ou em um arquivo. Você não instalará um software especial para comparar arquivos usando Linux, mas precisa saber como abrir uma janela de terminal. Crie os arquivos para compararSe você quiser acompanhar este guia, crie dois arquivos de texto que contenham texto semelhante, mas diferente. Crie o primeiro arquivoCrie um arquivo chamado arquivo1 e, em seguida, digite o seguinte texto: 10 garrafas verdes em uma parede10 garrafas verdes em uma paredeSe uma garrafa verde cair acidentalmente Haveria 9 garrafas verdes na parede Para criar este arquivo, siga estas instruções:
Crie o segundo arquivoEm seguida, crie outro arquivo chamado arquivo2 e digite o seguinte texto: 10 garrafas verdes em uma paredeSe 1 garrafa verde cair acidentalmente Haveria 9 garrafas verdes na parede Para criar este arquivo, siga estas instruções:
Como comparar dois arquivos usando LinuxO comando usado no Linux para mostrar as diferenças entre dois arquivos é chamado de comando diff. A forma mais simples do comando diff é a seguinte: diff arquivo1 arquivo2 Se os arquivos forem iguais, nenhuma saída será exibida ao usar este comando. No entanto, como existem diferenças, a saída é semelhante à seguinte: 2,4c2,3<10 garrafas verdes na parede …> Se 1 garrafa verde cair acidentalmente > Haveria 9 garrafas verdes na parede Inicialmente, a saída parece confusa, mas uma vez que você entende a terminologia, é bastante lógico. As diferenças entre os dois arquivos são as seguintes:
A saída do comando diff mostra que entre as linhas dois e quatro do primeiro arquivo e as linhas dois e três do segundo arquivo, existem diferenças. Em seguida, ele lista as linhas de dois a quatro do primeiro arquivo, seguidas pelas duas linhas diferentes do segundo arquivo. Como mostrar apenas se os arquivos forem diferentesSe você deseja apenas saber se os arquivos são diferentes e não está interessado em quais linhas são diferentes, execute o seguinte comando: diff -q arquivo1 arquivo2 Se os arquivos forem diferentes, o seguinte será exibido: Arquivos file1 e file2 são diferentes Se os arquivos forem iguais, nada será exibido. Como mostrar uma mensagem se os arquivos forem iguaisAo executar um comando, você pode querer saber se ele funcionou corretamente. Você deseja que uma mensagem seja exibida ao executar o comando diff, independentemente de os arquivos serem iguais ou diferentes. Para cumprir este requisito usando o comando diff, use o seguinte comando: diff -s arquivo1 arquivo2 Se os arquivos forem iguais, esta mensagem aparecerá: Os arquivos file1 e file2 são idênticos Como produzir as diferenças lado a ladoSe houver várias diferenças, pode ser confuso saber quais são as diferenças reais entre os dois arquivos. Você pode alterar a saída do comando diff para que os resultados sejam mostrados lado a lado. Para fazer isso, execute o seguinte comando: diff -y arquivo1 arquivo2 A saída do arquivo usa o | símbolo para mostrar a diferença entre as duas linhas, um < para mostrar uma linha que foi removida e um > para mostrar uma linha que foi acrescentada. Quando você executa o comando usando os arquivos de demonstração neste artigo, todas as linhas aparecem como diferentes, exceto a última linha de arquivo2, que é mostrado como excluído. Restringir a largura da colunaAo comparar dois arquivos lado a lado, pode ser difícil de ler se os arquivos tiverem várias colunas de texto. Para restringir o número de colunas, use o seguinte comando: diff –width = 5 arquivo1 arquivo2 Como ignorar diferenças de maiúsculas e minúsculas ao comparar arquivosSe você deseja comparar dois arquivos, mas não se importa se as letras maiúsculas e minúsculas são iguais entre os dois arquivos, use o seguinte comando: diff -i arquivo1 arquivo2 Como ignorar espaços em branco à direita no final de uma linhaSe você notar muitas diferenças ao comparar arquivos e as diferenças são causadas por espaços em branco no final das linhas, evite que eles apareçam como alterações executando o seguinte comando: diff -Z arquivo1 arquivo2 Como ignorar todas as diferenças de espaço em branco entre dois arquivosSe você está interessado apenas no texto de um arquivo e não se importa se há mais espaços em um do que no outro, use o seguinte comando: diff -w arquivo1 arquivo2 Como ignorar linhas em branco ao comparar dois arquivosSe você não se importa se um arquivo pode ter linhas em branco extras, compare os arquivos usando o seguinte comando: diff -B arquivo1 arquivo2 ResumoVocê pode encontrar mais informações lendo o manual do comando diff. homem diff O comando diff pode ser usado em sua forma mais simples para mostrar apenas as diferenças entre dois arquivos. Você também pode usá-lo para criar um arquivo diff como parte de uma estratégia de patch. Outro comando que você pode usar para comparar arquivos é o comando cmp. Isso compara arquivos byte por byte.
Ao escrever arquivos de programa ou arquivos de texto normais, os programadores e escritores às vezes desejam saber a diferença entre dois arquivos ou duas versões do mesmo arquivo. Quando você compara dois arquivos de computador no Linux, a diferença entre seus conteúdos é chamada de diff. Esta descrição nasceu de uma referência à saída do diff, o conhecido utilitário de comparação de arquivos de linha de comando do Unix. Existem várias ferramentas de comparação de arquivos que você pode usar no Linux e, nesta análise, veremos algumas das melhores ferramentas de comparação de arquivos e baseadas em terminal que você pode aproveitar ao escrever código ou outros arquivos de texto. 1. Comando diffGosto de começar com a ferramenta de linha de comando original do Unix, que mostra a diferença entre dois arquivos de computador. O Diff é simples e fácil de usar, ele vem pré-instalado na maioria das distribuições Linux. Ele compara os arquivos linha por linha e mostra a diferença entre eles. Você pode verificar a entrada manual do diff para usá-lo facilmente. # man diffExistem alguns invólucros para a ferramenta diff que aprimoram sua funcionalidade e incluem: Colordiff é um script Perl que produz a mesma saída que diff, mas com destaque de cor e sintaxe. Possui esquemas de cores personalizáveis. Você pode instalar o Colordiff em seus sistemas Linux, usando as ferramentas padrão do gerenciador de pacotes chamadas yum, dnf ou apt-get conforme mostrado. # yum install colordiff [On CentOS/RHEL/Fedora] # dnf install colordiff [On Fedora 23+ version] $ sudo apt-get install colordiff [On Debian/Ubuntu/Mint]Você pode verificar a entrada manual para Colordiff conforme mostrado. # man colordiffO utilitário wdiff é um front end para o comando diff usado para comparar arquivos palavra por palavra. Este programa é muito útil ao comparar dois textos para palavras alteradas e para os quais os parágrafos foram recarregados. Para instalar wdiff em seus sistemas Linux, execute: # yum install wdiff [On CentOS/RHEL/Fedora] # dnf install wdiff [On Fedora 23+ version] $ sudo apt-get install wdiff [On Debian/Ubuntu/Mint]Use o manual do wdiff para saber como usá-lo no Linux. # man wdiff2. Comando VimdiffO Vimdiff funciona de maneira avançada em comparação com o utilitário diff. Ele permite que um usuário edite até quatro versões de um arquivo enquanto mostra suas diferenças. Ao executá-lo, o Vimdiff abre dois, três ou quatro arquivos usando o editor de texto vim. Visite a página inicial: http://vimdoc.sourceforge.net/htmldoc/diff.html Tendo olhado as ferramentas diff da velha escola, vamos rapidamente passar para algumas ferramentas diff da GUI disponíveis no Linux. 3. KompareKompare é um empacotador de interface de usuário diferente que permite aos usuários ver as diferenças entre os arquivos e também mesclá-los. Alguns de seus recursos incluem:
Visite a página inicial: https://www.kde.org/applications/development/kompare/ 4. DiffMergeDiffMerge é um aplicativo de interface de usuário de plataforma cruzada para comparar e mesclar arquivos. Possui dois motores de funcionalidade, o motor Diff que mostra a diferença entre dois arquivos, que suporta realce intralinha e edição e um motor Merge que produz as linhas alteradas entre três arquivos. Possui os seguintes recursos:
Visite a página inicial: https://sourcegear.com/diffmerge/ 5. Meld - Ferramenta DiffMeld é uma ferramenta GUI de comparação e mesclagem leve. Ele permite que os usuários comparem arquivos, diretórios e programas controlados por versão. Criado especificamente para desenvolvedores, ele vem com os seguintes recursos:
Visite a página inicial: http://meldmerge.org/ 6. Difuso - Ferramenta Diff GUIDiffuse é outra ferramenta GUI popular, gratuita, pequena e simples, que pode ser usada no Linux. Escrito em Python, oferece duas funcionalidades principais, ou seja: comparação de arquivos e controle de versão, permitindo edição de arquivos, fusão de arquivos e também saída da diferença entre arquivos. Você pode ver um resumo de comparação, selecionar linhas de texto em arquivos usando o ponteiro do mouse, combinar linhas em arquivos adjacentes e editar arquivos diferentes. Outros recursos incluem:
Visite a página inicial: http://diffuse.sourceforge.net/ 7. XXdiff - Ferramenta de Diff e MergeXXdiff é uma ferramenta gratuita e poderosa de comparação de arquivos e diretórios e ferramenta de mesclagem que roda em sistemas operacionais como o Unix, como Linux, Solaris, HP/UX, IRIX, DEC Tru64. Uma limitação do XXdiff é sua falta de suporte para arquivos Unicode e edição embutida de arquivos diff. Possui a seguinte lista de recursos:
Visite a página inicial: http://furius.ca/xxdiff/ 8. KDiff3 - - Ferramenta Diff e MergeO KDiff3 é mais uma ferramenta legal de difusão e integração entre plataformas feita a partir do KDevelop. Ele funciona em todas as plataformas do tipo Unix, incluindo Linux e Mac OS X, Windows. Ele pode comparar ou mesclar dois a três arquivos ou diretórios e tem os seguintes recursos notáveis:
Visite a página inicial: http://kdiff3.sourceforge.net/ 9. TkDiffTkDiff também é um empacotador de interface de usuário de plataforma cruzada e fácil de usar para a ferramenta de diff do Unix. Ele fornece uma visão lado a lado das diferenças entre dois arquivos de entrada. Ele pode ser executado em Linux, Windows e Mac OS X. Além disso, possui alguns outros recursos interessantes, incluindo marcadores de diferenças, um mapa gráfico das diferenças para uma navegação fácil e rápida e muito mais. Visite a página inicial: https://sourceforge.net/projects/tkdiff/ Depois de ler esta revisão de alguns dos melhores comparadores de arquivos e diretórios e ferramentas de mesclagem, você provavelmente deseja experimentar alguns deles. Estas podem não ser as únicas ferramentas diff disponíveis que você pode encontrar no Linux, mas elas são conhecidas por oferecerem alguns dos melhores recursos, você também pode nos informar sobre quaisquer outras ferramentas diff que você testou e acha que merecem ser mencionado entre os melhores. |