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