Crie Dift entre dois arquivos no Linux

Crie Dift entre dois arquivos no Linux
Este artigo listará utilitários de linha de comando úteis e aplicativos gráficos que permitem visualizar "diff" ou "diferença" entre duas strings ou dois arquivos. Esses aplicativos são especialmente úteis se você deseja comparar várias versões de um mesmo arquivo para revisar seu progresso ou voltar ao conteúdo antigo, caso você queira reutilizar dados anteriores armazenados no arquivo. Desenvolvedores de software usando algum tipo de sistema de controle de versão usa regularmente as ferramentas diff para comparar o código.

Comando Grep

Grep é uma ferramenta de linha de comando mais comumente usada para encontrar e combinar conteúdo de texto usando padrões. Você pode usar padrões de grep de várias maneiras para analisar dados de texto e obter correspondências. Um desses padrões de grep permite visualizar diff entre dois arquivos. Supondo que existam dois arquivos “FILE1” contendo 1 a 5 números em cada linha e e “file2” contendo 1 a 10 números em cada linha, você pode usar o seguinte comando Grep para visualizar o DIFF entre esses arquivos:

$ grep -fxvf file1 file2

Depois de executar o comando declarado acima, você deve obter a seguinte saída:

6
7
8
9
10

O interruptor "f" no comando acima considera os dados de texto como uma lista de seqüências fixas, cada uma delas separada por uma quebra de linha ou nova linha. O interruptor "X" corresponde apenas às linhas inteiras. A chave "V" é usada para obter correspondências inversas. Você pode usá-lo para selecionar linhas não correspondentes. A chave "f" é usada para obter padrões de um arquivo, cada padrão sendo uma nova linha. Observe que a ordem dos argumentos é importante quando você usa o comando diff declarado acima. Ele encontra as linhas que existem em "File2", mas não existem em "File1". Tente executar o comando abaixo revertendo a ordem do arquivo, você não obterá saída:

$ grep -fxvf file2 file1

Isso ocorre porque "File1" não tem linhas diferentes de "File2". O comando Grep está disponível por padrão em todas as principais distribuições Linux. Para obter mais informações sobre o comando Grep, use os dois comandos a seguir:

$ Man Grep
$ grep --help

Comando diff

DIFF é um utilitário de linha de comando que pode ser usado para comparar arquivos linha por linha. Sua saída sugere linhas que precisavam ser adicionadas ou removidas para combinar com os dois arquivos entre si. Usando os mesmos arquivos mencionados no exemplo acima, execute o seguinte comando:

$ diff file2 file1

Você deve obter a seguinte saída:

6,10d5
< 6
< 7
< 8
< 9
< 10

A saída informa que, para corresponder ao "File2" com o File1, você precisa excluir ("D") todas as linhas que começam da 6ª linha para a 10ª linha para corresponder ao segundo arquivo até a 5ª linha do primeiro arquivo. Tente reverter o comando:

$ diff file1 file2

Você deve obter a seguinte saída:

5a6,10
> 6
> 7
> 8
> 9
> 10

A saída informa que, após a 5ª linha, adicione ("a") de 6 a 10 linhas para "File1" para combiná -la com "File2". Você também pode fazer uma comparação lado a lado usando o interruptor "y".

O comando diff está disponível por padrão na maioria das distribuições Linux. Para mais informações, você pode executar esses dois comandos:

$ MAN DIFF
$ diff -help

MELD

MELD é um aplicativo gráfico que pode ser usado para encontrar Diff entre dois ou mais arquivos e mesclar alterações ao mesmo tempo. Também pode ser usado para comparar recursivamente arquivos em um diretório, incluindo pastas em controle de versão. Meld indica visualmente quais mudanças precisam ser feitas para corresponder a dois arquivos sendo comparados. Ele também pode mostrar diff em tempo real enquanto você continua editando um ou ambos os arquivos.

Para instalar Meld no Ubuntu, use o comando especificado abaixo:

$ sudo apt install meld

O MELD está disponível nos repositórios padrão da maioria das distribuições Linux, para que você possa baixá -lo no Package Manager. Você também pode obter mais pacotes e código -fonte de sua página inicial.

Kompare

Kompare é um aplicativo de código aberto e gratuito que pode ser usado para criar diff entre dois arquivos e mesclar alterações para corresponder ao seu conteúdo. Desenvolvido pela equipe KDE, ele também pode ser usado para analisar recursivamente os diretórios para comparar as diferenças entre os arquivos. Kompare indica visualmente o Diff entre dois arquivos e você também pode usá -los para criar e aplicar patches.

Para instalar o Kompare no Ubuntu, use o comando especificado abaixo:

$ sudo apt install kompare

Kompare está disponível nos repositórios padrão da maioria das distribuições Linux, para que você possa baixá -lo no gerenciador de pacotes. Você pode obter mais pacotes e código -fonte de sua página da web. Um pacote Snap também está disponível aqui.

Comando Git Diff

O Git é um dos sistemas de controle de versão distribuídos mais amplamente utilizados e populares. Ele vem com muitos utilitários de linha de comando, incluindo um comando "diff" que pode ser usado para comparar dois arquivos. Você pode usar este comando para comparar dois arquivos extensivamente, mesmo que você não esteja usando o controle da versão Git e ele vem com inúmeras opções de linha de comando para ajustar o comportamento dos algoritmos diff. Na sua forma mais simples, você pode executar este comando para comparar dois arquivos:

$ git difffn file1 file2

A saída colorida com o sinal "+" mostra linhas adicionais disponíveis em "File2". Para instalar o Git e o Git Dif no Ubuntu, use o comando especificado abaixo:

$ sudo apt install git

O Git Diff faz parte do pacote Git e está disponível nos repositórios padrão da maioria das distribuições Linux, para que você possa baixá -lo no gerenciador de pacotes. Para mais informações sobre o Git Dif, use os dois comandos a seguir:

$ MAN GIT DIFF
$ git diff -help

Kdiff3

KDIFF3 é outra ferramenta da GUI Diff criada pela equipe KDE. Ele vem com todos os sinos e assobios que você esperaria de uma ferramenta diferente. Ele pode comparar arquivos e diretórios e mesclar automaticamente as alterações se escolhido. Ele também vem com um editor embutido e indica visualmente quais mudanças precisam ser feitas para corresponder aos arquivos e remover diferenças.


(Fonte da imagem)

Para instalar o KDIFF3 no Ubuntu, use o comando especificado abaixo:

$ sudo apt install kdiff3

O KDIFF3 está disponível nos repositórios padrão da maioria das distribuições Linux, para que você possa baixá -lo no gerenciador de pacotes. Você pode obter mais pacotes e código -fonte de sua página da web.

Conclusão

Estes são alguns dos utilitários de comando mais úteis e utilitários gráficos que podem ser usados ​​para comparar vários arquivos. Essas ferramentas diff fornecem uma boa maneira de rastrear alterações de arquivo, mesclar diferenças e criar patches. Você também pode usá -los para reverter manualmente os arquivos para o estado anterior, se necessário.