Manuais para a linha de comandos

Man » Manual do diff online - documentação online detalhada para a página de manual do diff

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