Ir para o conteúdo

diff · + adicionado · − removido

Comparar textos

Comparar “red, green, blue” com “red, yellow, blue” linha por linha dá 1 linha adicionada, 1 linha removida e 2 inalteradas. Cole dois textos para ver cada diferença.

Cada linha adicionada é marcada com + e cada linha removida com −, além de colorida, e os caracteres alterados dentro de uma linha substituída são destacados. Textos pequenos são comparados enquanto você digita; o texto nunca sai desta aba.

Scanned by NortonTM Safe Web

Resumo

Preço
Sem custo
Conta
Não é necessária
Envio
Não se aplica — os dois textos ficam na sua aba
Método
Maior subsequência comum de linhas, com caracteres alterados destacados
Saída
Linhas coloridas e marcadas, ou um diff unificado com 3 linhas de contexto
Limite de tamanho
5,000 linhas e 5,000,000 caracteres por texto

Uma comparação resolvida e o efeito das opções

As tabelas vêm do mesmo código da ferramenta. A primeira compara dois textos de três linhas; a segunda mostra como as opções mudam o resultado para um par de linhas.

“red, green, blue” contra “red, yellow, blue”, um por linha
MarcadorLinha
=red
−green
+yellow
=blue
“Hello World” contra “hello world” (dois espaços)
ConfiguraçãoLinhas adicionadasLinhas removidas
Exato11
Ignorar maiúsculas11
Ignorar espaços11
Ignorar maiúsculas e espaços00

Como comparar dois textos

1

Cole os dois textos

Ponha o texto mais antigo na caixa Original e o mais novo na caixa Alterado. Dois exemplos curtos já estão lá. Trocar inverte as duas caixas, e Limpar esvazia as duas.

2

Escolha o que conta como diferença

Marque Ignorar maiúsculas para tratar “Hello” e “hello” como a mesma linha, e Ignorar espaços para ignorar espaços nas pontas de uma linha e espaços repetidos dentro dela. Mostrar só as mudanças esconde as linhas inalteradas, mantendo 3 linhas ao redor de cada mudança.

3

Leia ou copie a diferença

Linhas marcadas com − existem só no Original, linhas marcadas com + só no texto Alterado. Copie o diff unificado para colar em uma mensagem ou em um patch, ou baixe-o como arquivo .diff.

Como a comparação funciona

Os dois textos são divididos em linhas, e a ferramenta encontra a maior subsequência comum de linhas: o maior conjunto de linhas que aparecem nos dois textos na mesma ordem. Toda linha fora desse conjunto é informada como removida (só no original) ou adicionada (só no texto alterado), então o diff tem o menor número possível de linhas alteradas. Onde uma linha removida é seguida diretamente por uma adicionada, os caracteres que diferem entre as duas são destacados.

Um diff trabalha com linhas porque linhas são a unidade em que código, arquivos de configuração e listas mudam, e uma comparação por linhas continua rápida com milhares de linhas. Uma linha que mudou de lugar aparece uma vez como removida e outra como adicionada; uma palavra alterada aparece como linha substituída, com os caracteres destacados. As quebras de linha são normalizadas, então um arquivo salvo com quebras do Windows coincide com o mesmo arquivo salvo com quebras do Unix. Cada texto pode ter até 5,000 linhas e 5,000,000 caracteres. A saída do diff unificado usa o formato comum: um cabeçalho --- e +++, depois blocos @@ com 3 linhas de contexto.

Perguntas sobre comparar textos

Como um diff de texto decide o que mudou?

Ele encontra a maior subsequência comum de linhas, ou seja, o máximo de linhas que os dois textos compartilham na mesma ordem. As linhas fora dela são marcadas com − se só o original as tem e com + se só o texto alterado as tem. “red, green, blue” contra “red, yellow, blue” mantém red e blue, remove green e adiciona yellow.

Por que a comparação é feita por linhas e não por palavras?

Linhas são como código, logs, listas e arquivos de configuração se organizam, e um resultado por linhas é curto o bastante para ler. Em uma linha substituída, os caracteres que diferem são destacados dentro dela, então uma mudança de uma palavra em uma frase longa é fácil de ver.

O que significam as cores e os sinais + e −?

Uma linha verde marcada com + foi adicionada no texto Alterado. Uma linha vermelha marcada com − foi removida do Original. Linhas sem marca são iguais nos dois. Os sinais são impressos além das cores, então o resultado é legível sem distinguir vermelho de verde.

Como ignoro diferenças de maiúsculas ou de espaços?

Marque Ignorar maiúsculas para comparar linhas sem considerar a caixa das letras, e Ignorar espaços para ignorar espaços no início e no fim de uma linha e tratar qualquer sequência de espaços dentro dela como um só espaço. Com as duas marcadas, “Hello World” e “hello world” são a mesma linha.

Qual o tamanho máximo dos dois textos?

Cada texto pode ter até 5,000 linhas e 5,000,000 caracteres. Um texto de 5,000 linhas comparado com uma cópia reordenada dele é processado em bem menos de um segundo em um computador atual. Acima de 100,000 caracteres no total, a comparação começa quando você aperta Comparar, em vez de enquanto digita.

O que é um diff unificado?

É o formato de texto usado pelo diff e pelo Git. Começa com uma linha --- e uma +++ que nomeiam os dois textos, depois um bloco para cada grupo de mudanças. Um bloco começa com um cabeçalho como @@ -1,3 +1,3 @@, que significa 3 linhas a partir da linha 1 do original e 3 linhas a partir da linha 1 do texto alterado, e cada linha começa com um espaço, + ou −.