Scroll to navigation

DIFF(1) Ferramentas GNU DIFF(1)

NOME

diff - acha diferença entre dois arquivos

SINOPSE

diff [opções] do-arquivo para-arquivo

DESCRIÇÃO

No caso mais simples, diff compara o conteúdo de dois arquivos do-arquivo e para-arquivo. Um nome de arquivo de - significa que o texto virá da entrada padrão. Em um cso especial, diff - - compara a cópia da entrada padrão consigo mesmo.

Se do-arquivo é um diretório e para-arquivo não é, diff compara o arquivo em do-arquivo que tem aquele nome que é de to-file, e vice versa. O arquivo que não é diretório não pode ser -.

Se ambos do-arquivo e do-arquivo são diretório, diff compara os arquivos correspondentes em ambos diretórios, em ordem alfabética; esta comparação não é recursiva até que a opção seja fornecida -r ou --recursive diff nunca compara o conteúdo atual do diretório como se ele fosse um arquivo. O arquivo que é especificado completamente não pode ser a entrada padrão, por causa que a entrada padrão não tem nome e a notação de 'arquivo com o mesmo nome' não é aplicável. As opções do diff começam com -, assim normalmente do-arquivo e para-arquivo não podem começar com -. De qualquer forma, -- é um argumento para si mesmo tratando o argumento remanesçente como um nome de arquivo mesmo se eles iniciam com -.

Opções

As opções abaixo são um sumário de todos as opções que o GNU diff aceita. Muitas opções tem dois nomes equivalente, uma qual é uma simples letra precidida por -, e a outra delas é um nome longo precedido de --. Multiplas opções de letra simples (a menos que eles um argumento) podem ser combinados em uma simples linha de comando: -ac é equivalente para -a -c. Opções de nomes longos podem ser abreviadas para qualquer prefixo único do seu nome. Colchetes ([ e ]) indicam que uma opção recebida é um argumento opcional.

-lines
Exibe lines linhas (um valor inteiro) de contexto. Esta opção não descreve um formato de saída por si mesmo; ela não em efeito até que ela seja combinada com as opções -c ou -u. Esta opção é obsoleta. Para operação adequada, patch tipicamente precisa de pelo menos duas linhas de contexto.
Trata todos os arquivos como texto e compara-os linha por linha, mesmo se eles não se parecem com texto.
Ignora alterações em montante de espaços em branco.
Ignora alterações que são inserções ou exclusões de linha em branco.
Relata somente as diferenças entre os arquivos, e não os detalhes destas diferenças.
Use o formato de contexto na saída.

Usa o formato de contexto na saída, exibindo lines linhas de contexto (um valor inteiro), ou três se lines não é fornecida. Para operação adequada, patch tipicamente precisa de pelo menos duas linhas de contexto.
Use o format de saída como uma linha de grupo contendo linhas diferenciadas de ambos arquivos no formato if-then-else.
Altera o algoritmo para quem sabe achar o menor conjunto de alterações. Isto faz diff ficar lento (as vezes muito lento).
Faz a fusão do formato de saída if-then-else, condicional no pré-procesador de macros name.

Faz a saída isto é um script ed válido.
Quando comparando diretórios, ignora arquivos e sub-diretórios com o padrão de nomes básico compatíveis.
Quando comparando diretórios, ignora arquivos e sub-diretórios com o o padrão de nomes básico compatíveis em file.
Aumenta a tabulação para espaços na saída, para preservar o alinhamneto de tabulações no arquivos de entrada.
Faz saída tenha um aspecto vagamente como se fosse um script ed mas tem alterações na ordem que eles aparecem no arquivo.
No contexto e no formato unificado, para cada pedaço grande de diferenças, exibe um tanto das linhas precedentes que combinam com regexp.
Faz saída tenha um aspecto vagamente como se fosse um script ed mas tem alterações na ordem que eles aparecem no arquivo.
Esta opção não tem efeito atualmente, ela está presente para compatibilidade com o Unix.
Usa heuristica para tratamento rápido de arquivos longos que tem numerosas e pequenas alterações espalhadas.
Não descarta as últimas lines linhas de um prefixo comum e as primeiras lines do sufixo comum.
Ignora alterações no caso; considera letras maiuscúlas e minuscúlas equivalentes.
Ignora alterações que justamnete insere ou exclue linhas que combinam regexp.
Faz a fusão do formato de saída if-then-else, condicional no pré-procesador de macros name.
Ignora espaços em branco quando comparando linhas.
Ignora alterações que são inserções ou exclusões de linha em branco.
Ignora alterações no caso; considera letras maiuscúlas e minuscúlas equivalentes.
Ignora alterações no caso; considera letras maiuscúlas e minuscúlas equivalentes regexp.
Ignora alterações no montante de espaçõe em branco.
Saí uma tabulação preferencialmente o mesmo que espaço antes do texto da linha em formato normal ou de contexto. Isto faz o alinhamenteo de tabulações nas linhas aparecerem normais.
Transmite a saída através de pr para paginá-la.

Usa label ao invês de nomes de arquivos nos formatos de contexto e cabeçalho unificado.
Imprime somente a coluna esquerda de duas linha comuns no formato lado a lado.
Usa format para sair todos as linhas de entrado no formato in-then-else.
Altera o algoritmo que quem sabe achará o menor conjunto de alterações. Isto faz diff ficar lento (às vezes muito lento).
Saída no formato RCS, como -f exceto que cada comando especifica o número de linhas afetadas.

Na comparação de diretórios, se um arquivo é achado em somente um diretório, trata ele como presente mas vazio no outro diretório.
Usa o format para saídas em linha de grupo de linhas tiradas justamente do segundo arquivo no formato if-then-else.
Usa o format para saídas de linhas tiradas justamento do segundo arquivo no formato if-then-else.
Usa o format para saídas em linha de grupo de linhas tiradas justamente do primeiro arquivo no formato if-then-else.
Usa o format para saídas de linhas tiradas justamento do primeiro arquivo no formato if-then-else.
Exibe em quais funções C cada alteração está interna.
Quando comparando diretórios, se um arquivo aparece somente no segundo diretório dos dois, trata ele como presente mas vazio no outro.
Passa a saída através pr para paginá-la.
Relata somente se os arquivos diferem, e não as diferenças entre eles.
Quando comparando diretórios, compara sub-diretórios encontrados de forma recursiva.
Saída no formato RCS, como -f exceto que cada comando especifica o número de linhas afetadas.
Quando comparando diretórios, compara sub-diretórios encontrados de forma recursiva.

Relata quando dois arquivos são iguais.
Quando comparando diretóris, começa com o arquivo file. Isto é usado para reiniciar um comparação cancelada.
Imprime informações extras para ajudar sdiff. sdiff usa esta opção quando executar diff. Esta opção não está destinada a usuários para uso diretamente.
Exibe em quais funções C cada alteração está interna.
Nos formatos de contexto e unificada, para cada grande pedaço de diferenças, exibe algumas linhas precedentes que combinam regexp.
Usa o format de saída lado a lado.
Usa heuristica para tratamento rápido de arquivos longos que tem numerosas e pequenas alterações espalhadas.
Quando comparando diretórios, inicia com o arquivo file. Isto é usado para reiniciar um comparação cancelada.
Não imprime linhas comuns no formato lado a lado.
Aumenta a tabulação para espaços na saída, para preservar o alinhamneto de tabulações no arquivos de entrada.
Saí uma tabulação preferencialmente o mesmo que espaço antes do texto da linha em formato normal ou de contexto. Isto faz o alinhamenteo de tabulações nas linhas aparecerem normais.
Trata todos os arquivos como texto e compara-os linha por linha, mesmo se eles não se parecem com texto.
Usa o formato de saída unificado.
Usa o format para saída em linhas comuns de grupo tiradas de ambos arquivos no formato if-then-else.
Usa o format para saídas em linhas comuns de ambos arquivos no formato if-then-else.
Quando comparando diretórios, se um arquivo aparece somente no segundo diretório dos dois, trata ele como presente mas vazio no outro.

Usa o formato unificado na saída, exibindo lines linhas de contexto (um valor inteiro), ou três se lines não é fornecida. Para operação adequada, patch tipicamente precisa de pelo menos duas linhas de contexto.

Saí o número de versão do diff.
Ignora espaços em branco quando comparando linhas.

Usa um saída de colunas com largura columns no formato lado a lado.
Quando comparado diretórios, ignora arquivos e sub-diretórios pertecente a eles com nomes bases compatível ao pattern.
Quando comparado diretórios, ignora arquivos e sub-diretórios pertecente a eles com nomes bases compatível com qualquer padrão contido no file.
Usa o formato de saída lado a lado.

VEJA TAMBÉM

cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).

DIAGNÓSTICO

Uma saída de status de 0 significa que não foram encontradas diferenças, 1 significa que algumas diferenças foram encontradas, e 2 significa problemas.

TRADUZIDO POR LDP-BR em 21/08/2000.

André Luiz Fassone Canova <alf@techno.com.br> (tradução) Carlos Augusto Horylka <horylka@conectiva.com.br> {revisão}

22/09/1993 Ferramentas GNU