Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado.

Você já teve dois arquivos semelhantes e se perguntou quais partes são diferentes? Você está escrevendo código e tentando descobrir como combinar as alterações que você ou algum outro programador fez? Existe um utilitário padrão do Linux chamado "diff" que ajudará.

O que é diferente?

diff é um utilitário que mostra as diferenças entre dois arquivos de texto, de onde vem o nome. faz parte o padrão POSIX, o que significa que está presente em quase todos os sistemas semelhantes ao Unix, incluindo Linux, macOS e outros BSDs.

Se você estiver em uma distribuição Linux importante, provavelmente terá a versão GNU. Se você está ligado uma distro Linux mínima, você pode tê-lo como parte da biblioteca BusyBox ou Toybox ou a versão BSD se estiver em um sistema BSD. Você pode ver qual versão você tem, verificando a página do manual:

homem diferente

Comparando dois arquivos no Linux com diff

Para comparar dois arquivos de texto, simplesmente passe seu caminho como argumentos para diff:

diff arquivo1 arquivo2

diff mostrará as linhas que são diferentes entre as duas no arquivo. As linhas no primeiro arquivo são precedidas por um "<" e as linhas no segundo são precedidas por um ">" personagem. A saída exibe linhas alteradas, anexadas ou excluídas, incluindo o número geral de linhas afetadas.

Se você alterar a primeira linha, diff produzirá "1c1", que significa "começar na linha 1, alterar a linha 1." Em diff, "a" apoia "acrescentar", "c" para "mudar" e "d" para "excluir."

Outros recursos e opções de diferenças

Para ver os arquivos lado a lado, use o -y opção:

diff -y arquivo1 arquivo2

O -você A opção produz um Outlook "unificado" com um script de edição para o editor ed para que as alterações possam ser executadas automaticamente.

Antes de os sistemas de controle de versão distribuídos, como o Git, serem amplamente usados, os projetos de código aberto solicitavam patches nesse formato por e-mail e os aplicavam à base de código com o programa de patch.

Agora você pode comparar arquivos no Linux com diff

O utilitário diff pode parecer obscuro, mas é útil ver as diferenças entre dois arquivos, esteja você simplesmente comparando os arquivos ou enviando patches para um desenvolvedor de código aberto.

Se você não é fã do terminal Linux, nem precisa usar a linha de comando para comparar arquivos, nem mesmo usar sua máquina local. Existem ferramentas online que permitem comparar arquivos na web.