diff - comparar arquivos linha a linha
SINOPSIS
diff [OPÇÃO]... ARQUIVOS
DESCRIÇÃO
Compara ARQUIVOS linha a linha.
Os argumentos obrigatórios para opções longas também são obrigatórios para opções curtas.
--normal
gera uma saída diff normal (o padrão)
-q, --brief
relata apenas quando os arquivos são diferentes
-s, --report-identical-files
relata quando dois arquivos são iguais
-c, -C NUM, --context[=NUM]
gera NUM (padrão 3) linhas de contexto copiado
-u, -U NUM, --unified[=NUM]
gera NUM (padrão 3) linhas de contexto unificado
-e, --ed
gera um script ed
-n, --rcs
gera um diff no formato RCS
-y, --side-by-side
gera em duas colunas
-W, --width=NUM
gera no máximo NUM (padrão 130) colunas de impressão
--left-column
gera apenas a coluna esquerda de linhas comuns
--suppress-common-lines
não gera linhas comuns
-p, --show-c-function
mostra em qual função C cada alteração está
-F, --show-function-line=RE
mostra a linha mais recente que corresponde a RE
--label LABEL
usa LABEL em vez do nome do arquivo e do timestamp (pode ser repetido)
-t, --expand-tabs
expande tabulações em espaços na saída
-T, --initial-tab
alinha tabulações adicionando uma tabulação no início da linha
--tabsize=NUM
paradas de tabulação a cada NUM (padrão 8) colunas de impressão
--suppress-blank-empty
suprime espaços ou tabulações antes de linhas de saída vazias
-l, --paginate
passa a saída para 'pr' para paginá-la
-r, --recursive
compara recursivamente quaisquer subdiretórios encontrados
--no-dereference
não segue links simbólicos
-N, --new-file
trata arquivos ausentes como vazios
--unidirectional-new-file
trata o primeiro arquivo ausente como vazio
--ignore-file-name-case
ignora maiúsculas e minúsculas ao comparar nomes de arquivos
--no-ignore-file-name-case
considera maiúsculas e minúsculas ao comparar nomes de arquivos
-x, --exclude=PAT
exclui arquivos que correspondem a PAT
-X, --exclude-from=FILE
exclui arquivos que correspondem a qualquer padrão em FILE
-S, --starting-file=FILE
começa com FILE ao comparar diretórios
--from-file=FILE1
compara FILE1 com todos os operandos; FILE1 pode ser um diretório
--to-file=FILE2
compara todos os operandos com FILE2; FILE2 pode ser um diretório
-i, --ignore-case
ignora diferenças de maiúsculas e minúsculas no conteúdo do arquivo
-E, --ignore-tab-expansion
ignora alterações devido à expansão de tabulações
-Z, --ignore-trailing-space
ignora espaços em branco no final da linha
-b, --ignore-space-change
ignora alterações na quantidade de espaços em branco
-w, --ignore-all-space
ignora todos os espaços em branco
-B, --ignore-blank-lines
ignora alterações onde as linhas estão todas em branco
-I, --ignore-matching-lines=RE
ignora alterações onde todas as linhas correspondem a RE
-a, --text
trata todos os arquivos como texto
--strip-trailing-cr
remove o caractere de retorno de carro no final da entrada
-D, --ifdef=NAME
gera um arquivo mesclado com as diferenças '#ifdef NAME'
--GTYPE-group-format=GFMT
formata grupos de entrada GTYPE com GFMT
--line-format=LFMT
formata todas as linhas de entrada com LFMT
--LTYPE-line-format=LFMT
formata linhas de entrada LTYPE com LFMT
Essas opções de formato fornecem controle detalhado sobre a saída do diff.
LTYPE é 'old', 'new' ou 'unchanged'.
GTYPE é LTYPE ou 'changed'.
GFMT (somente) pode conter:
%< linhas de FILE1
%> linhas de FILE2
%= linhas comuns a FILE1 e FILE2
%[-][WIDTH][.[PREC]]{doxX}LETTER
especificação no estilo printf para LETTER
LETTERs são os seguintes para o novo grupo, minúsculas para o grupo antigo:
F primeiro número de linha
L último número de linha
N número de linhas = L-F+1
E F-1
M L+1
%(A=B?T:E)
se A for igual a B, então T, senão E
LFMT (somente) pode conter:
%L conteúdo da linha
%l conteúdo da linha, excluindo quaisquer quebras de linha finais
%[-][WIDTH][.[PREC]]{doxX}n
especificação no estilo printf para o número da linha de entrada
Tanto GFMT quanto LFMT podem conter:
%% %
%c'C' o caractere único C
%c'\OOO'
o caractere com o código octal OOO
C o caractere C (outros caracteres representam a si mesmos)
-d, --minimal
tente encontrar um conjunto menor de alterações
--horizon-lines=NUM
mantenha NUM linhas do prefixo e sufixo comuns
--speed-large-files
presuma arquivos grandes e muitas pequenas alterações dispersas
--color[=WHEN]
cor de saída; WHEN é 'never', 'always' ou 'auto'; --color simples significa --color='auto'
--palette=PALETTE
as cores a serem usadas quando --color estiver ativo; PALETTE é uma lista separada por dois pontos de recursos terminfo
--help exibe esta ajuda e sai
-v, --version
gera informações da versão e sai
FILES são 'FILE1 FILE2' ou 'DIR1 DIR2' ou 'DIR FILE' ou 'FILE DIR'. Se --from-file ou --to-file for fornecido, não há restrições sobre FILE(s). Se um FILE for '-', leia a entrada padrão. O status de saída é 0 se as entradas forem as mesmas, 1 se forem diferentes e 2 se houver algum problema.
AUTOR
Escrito por Paul Eggert, Mike Haertel, David Hayes, Richard Stallman e Len Tower.
RELATANDO BUGS
Relate bugs para: _ Página inicial do GNU diffutils: [https://www.gnu.org/software/diffutils/] Ajuda geral sobre o uso de software GNU: [https://www.gnu.org/gethelp/]
DIREITOS AUTORAIS
Copyright © 2025 Free Software Foundation, Inc. Licença GPLv3+: GNU GPL versão 3 ou posterior [https://gnu.org/licenses/gpl.html]. Este é um software livre: você é livre para alterá-lo e redistribuí-lo. NÃO HÁ GARANTIA, na medida permitida pela lei.
VEJA TAMBÉM
wdiff(1), cmp(1), diff3(1), sdiff(1), patch(1)
A documentação completa para diff é mantida como um manual Texinfo. Se os programas info e diff estiverem instalados corretamente em seu site, o comando
info diff
deve fornecer acesso ao manual completo.