Na sua primeira diff
output (assim chamada "normall diff"), o significado é o seguinte
<
- denota linhas no arquivo1.txt
>
- denota linhas no arquivo2.txt
3d2
e 5a5
indicam os números de linha afetados e quais ações foram executadas. d
significa exclusão, a
significa adicionar (e c
significa alteração). o número à esquerda do caractere é o número da linha no arquivo1.txt, o número à direita é o número da linha no arquivo2.txt. Portanto, 3d2
informa que a terceira linha no arquivo1.txt foi excluída e tem o número de linha 2 no arquivo2.txt (ou melhor, que após a exclusão, o contador de linha retornou para o número de linha 2). 5a5
informa que começamos a partir da linha número 5 no arquivo1.txt (que estava realmente vazio depois de excluirmos uma linha na ação anterior), adicionamos a linha e essa linha adicionada é o número 5 no arquivo2.txt.
A saída do comando diff -u
é formatada de forma um pouco diferente (o chamado formato "diff unificado"). Aqui diff
nos mostra uma única parte do texto, em vez de dois textos separados. Na linha @@ -1,5 +1,5 @@
, a parte -1,5
refere-se ao arquivo1.txt e a parte +1,5
ao arquivo2.txt. Eles nos dizem que diff
mostrará um trecho de texto, que tem 5 linhas a partir da linha número 1 no arquivo1.txt. E o mesmo sobre o arquivo2.txt - diff
nos mostra 5 linhas a partir da linha 1.
Como eu já disse, as linhas de ambos os arquivos são mostradas juntas
this is the original text
line2
-line3
line4
happy hacking !
+GNU is not UNIX
Aqui -
indica as linhas, que foram excluídas do arquivo1.txt e +
indica as linhas adicionadas.