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.

-a  Trata todos os arquivos como texto e compara-os linha por linha, mesmo se eles não se parecem com texto.

-b  Ignora alterações em montante de espaços em branco.

-B  Ignora alterações que são inserções ou exclusões de linha em branco.

--brief
    Relata somente as diferenças entre os arquivos, e não os detalhes destas diferenças.

-c  Use o formato de contexto na saída.

-C linhas

--context[=lines]
    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.

--changed-group-format=format
    Use o format de saída como uma linha de grupo contendo linhas diferenciadas de ambos arquivos no formato if-then-else.

-d  Altera o olgorítimo para quem sabe achar o menor conjunto de alterações. Isto faz diff ficar lento (as vezes muito lento).

-D name
    Faz a fusão do formato de saída if-then-else, condicional no pré-procesador de macros name.

-e

--ed
    Faz a saída isto é um script ed válido.

--exclude=pattern
    Quando comparando diretórios, ignora arquivos e sub-diretórios com o padrão de nomes básico compatíveis.

--exclude-from=file
    Quando comparando diretórios, ignora arquivos e sub-diretórios com o o padrão de nomes básico compatíveis em file.

--expand-tabs
    Aumenta a tabulação para espaços na saída, para preservar o alinhamneto de tabulações no arquivos de entrada.

-f  Faz saída tenha um aspecto vagamente como se fosse um script ed mas tem alterações na ordem que eles aparecem no arquivo.

-F regexp
    No contexto e no formato unificado, para cada pedaço grande de diferenças, exibe um tanto das linhas precedentes que combinam com regexp.

--forward-ed
    Faz saída tenha um aspecto vagamente como se fosse um script ed mas tem alterações na ordem que eles aparecem no arquivo.

-h  Esta opção não tem efeito atualmente, ela está presente para compatibilidade com o Unix.

-H  Usa heuristica para tratamento rápido de arquivos longos que tem numerosas e pequenas alterações espalhadas.

--horizon-lines=lines
    Não descarta as últimas lines linhas de um prefixo comum e as primeiras lines do sufixo comum.

-i  Ignora alterações no caso; considera letras maiuscúlas e minuscúlas equivalentes.

-I regexp
    Ignora alterações que justamnete insere ou exclue linhas que combinam regexp.

--ifdef=name
    Faz a fusão do formato de saída if-then-else, condicional no pré-procesador de macros name.

--ignore-all-space
    Ignora espaços em branco quando comparando linhas.

--ignore-blank-lines
    Ignora alterações que são inserções ou exclusões de linha em branco.

--ignore-case
    Ignora alterações no caso; considera letras maiuscúlas e minuscúlas equivalentes.

--ignore-matching-lines=regexp
    Ignora alterações no caso; considera letras maiuscúlas e minuscúlas equivalentes regexp.

--ignore-space-change
    Ignora alterações no montante de espaçõe em branco.

--initial-tab
    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.

-l  Transmite a saída através de pr para paginá-la.

-L label

--label=label
    Usa label ao invês de nomes de arquivos nos formatos de contexto e cabeçalho unificado.

--left-column
    Imprime somente a coluna esquerda de duas linha comuns no formato lado a lado.

--line-format=format
    Usa format para sair todos as linhas de entrado no formato in-then-else.

--minimal
    Altera o algorítimo que quem sabe achará o menor conjunto de alterações. Isto faz diff ficar lento (às vezes muito lento).

-n  Saída no formato RCS, como -f exceto que cada comando especifica o número de linhas afetadas.

-N

--new-file
    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.

--new-group-format=format
    Usa o format para saídas em linha de grupo de linhas tiradas justamente do segundo arquivo no formato if-then-else.

--new-line-format=format
    Usa o format para saídas de linhas tiradas justamento do segundo arquivo no formato if-then-else.

--old-group-format=format
    Usa o format para saídas em linha de grupo de linhas tiradas justamente do primeiro arquivo no formato if-then-else.

--old-line-format=format
    Usa o format para saídas de linhas tiradas justamento do primeiro arquivo no formato if-then-else.

-p  Exibe em quais funções C cada alteração está interna.

-P  Quando comparando diretórios, se um arquivo aparece somente no segundo diretório dos dois, trata ele como presente mas vazio no outro.

--paginate
    Passa a saída através pr para paginá-la.

-q  Relata somente se os arquivos diferem, e não as diferenças entre eles.

-r  Quando comparando diretórios, compara sub-diretórios encontrados de forma recursiva.

--rcs
    Saída no formato RCS, como -f exceto que cada comando especifica o número de linhas afetadas.

--recursive
    Quando comparando diretórios, compara sub-diretórios encontrados de forma recursiva.

--report-identical-files

-s  Relata quando dois arquivos são iguais.

-S file
    Quando comparando diretóris, começa com o arquivo file. Isto é usado para reiniciar um comparação cancelada.

--sdiff-merge-assist
    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.

--show-c-function
    Exibe em quais funções C cada alteração está interna.

--show-function-line=regexp
    Nos formatos de contexto e unificada, para cada grande pedaço de diferenças, exibe algumas linhas precedentes que combinam regexp.

--side-by-side
    Usa o format de saída lado a lado.

--speed-large-files
    Usa heuristica para tratamento rápido de arquivos longos que tem numerosas e pequenas alterações espalhadas.

--starting-file=file
    Quando comparando diretórios, inicia com o arquivo file. Isto é usado para reiniciar um comparação cancelada.

--suppress-common-lines
    Não imprime linhas comuns no formato lado a lado.

-t  Aumenta a tabulação para espaços na saída, para preservar o alinhamneto de tabulações no arquivos de entrada.

-T  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.

--text
    Trata todos os arquivos como texto e compara-os linha por linha, mesmo se eles não se parecem com texto.

-u  Usa o formato de saída unificado.

--unchanged-group-format=format
    Usa o format para saída em linhas comuns de grupo tiradas de ambos arquivos no formato if-then-else.

--unchanged-line-format=format
    Usa o format para saídas em linhas comuns de ambos arquivos no formato if-then-else.

--unidirectional-new-file
    Quando comparando diretórios, se um arquivo aparece somente no segundo diretório dos dois, trata ele como presente mas vazio no outro.

-U lines

--unified[=lines]
    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.

-v

--version
    Saí o número de versão do diff.

-w  Ignora espaços em branco quando comparando linhas.

-W columns

--width=columns
    Usa um saída de colunas com largura columns no formato lado a lado.

-x pattern
    Quando comparado diretórios, ignora arquivos e sub-diretórios pertecente a eles com nomes bases compatível ao pattern.

-X file
    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.

-y  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}