diff3 Comando

Propósito

Compara três arquivos.

Sintaxe

diff3 [ -e | -x | -E | -X | -3 ] File1 File2 File3

Descrição

O comando diff3 compara três arquivos e escreve para saída padrão os intervalos de texto que diferem, sinalizados com os seguintes códigos:

Item Descrição
==== Todos os três arquivos diferem.
== == 1 File1 difere.
== == 2 File2 difere.
== == 3 File3 difere.

O tipo de alteração necessária para converter uma determinada faixa de um determinado arquivo para correspondência de outro arquivo é indicado em uma dessas duas formas na saída:

Item Descrição
Arquivo:Number1 a O texto deve ser adicionado após o número da linha Number1 em Arquivo, em que Arquivo é 1, 2ou 3.
Arquivo:Number1[,Number2]c O texto na linha de alcance Number1 para linha Number2 deve ser alterado. Se Number1 for o mesmo que Number2, o intervalo pode ser abreviado para Number1.

O conteúdo do intervalo segue uma indicação c . Quando o conteúdo de dois arquivos é idêntico, o comando diff3 não mostra o conteúdo do arquivo com numeração inferior, embora mostre a localização das linhas idênticas para cada um.

Nota: Editar scripts produzidos pela sinalização -e não podem criar linhas constituídas por um. (ponto).

Sinalizações

Item Descrição
-3 Produz um script de edição para incorporar apenas alterações sinalizadas == == 3.
-E, -X Estes são semelhantes a -e e -x respectivamente, mas tratam alterações sobrepostas (ou seja, alterações que seriam sinalizadas == == na listagem normal) de forma diferente. As linhas de sobreposição de ambos os arquivos são inseridas pelo script de edição, bracketado por < < < < < e>>>>>> linhas. A opção -E é usada pelo Revision Control System (RCS) Merge para garantir que as alterações sobrepostas nos arquivos mesclados sejam preservadas e levadas à atenção de alguém.
-e Cria um script de edição para uso com o comando ed para incorporar em File1 todas as alterações entre File2 e File3 (ou seja, as alterações que normalmente seriam sinalizadas == == == == 3).
-X Produz um script de edição para incorporar apenas alterações sinalizadas == ==.

Exemplos

Para listar as diferenças entre três arquivos:

diff3 fruit.a fruit.b fruit.c

Sefruit.a,fruit.befruit.cconter os seguintes dados:

fruit.a                fruit.b                 fruit.c
banana                 apple                   grape
grape                  banana                  grapefruit
kiwi                   grapefruit              kiwi
lemon                  kiwi                    lemon
mango                  orange                  mango
orange                 peach                   orange
peach                  pear                    peach
pare

então a saída a partir do comando diff3 mostra as diferenças entre esses arquivos da seguinte forma. (Os comentários sobre a direita não aparecem na saída.)

====            All three files are different.
1:1,2c          Lines 1 and 2 of the first file, fruit.a
  banana
  grape
2:1,3c          Lines 1 through 3 of fruit.b
  apple
  banana
  grapefruit
3:1,2c          Lines 1 and 2 of fruit.c
  grape
  grapefruit
====2           The second file, fruit.b, is different.
1:4,5c          Lines 4 and 5 the same in fruit.a and fruit.c.
2:4a            To make fruit.b look same, add after line 4.
3:4,5c
  lemon
  mango
====            The first file, fruit.a, is different.
1:8c
  pare
2:7c            fruit.b line 7 and fruit.c line 8 are the same
  pear
3:7a

Arquivos

Item Descrição
/usr/bin/diff3 Indica o comando diff3 .
/usr/lbin/diff3prog Chamado pelo script shell diff3 .