1a riga: a
indica l'aggiunta, l' d
eliminazione e la c
modifica. I numeri di riga del file originale vengono visualizzati prima di queste lettere e quelli del file modificato vengono visualizzati dopo la lettera.
2a riga: le righe con <
provengono dal file 1 e sono diverse dal file 2.
La terza riga è un divisore.
4a riga: le righe con >
provengono dal file 2 e sono diverse dal file 1.
(Se mai lo vedi =
significa che le linee sono uguali in entrambi i file)
E il tuo problema potrebbe essere rappresentato da spazi bianchi o altri caratteri leggibili non umani: anche questi innescano una differenza.
Ci sono alcune opzioni per manipolare l'output.
Esempio:
rinzwind @ discworld: ~ $ di più 1
test
test2
test3
rinzwind @ discworld: ~ $ di più 2
test
test2
test3
formato contestuale:
rinzwind @ discworld: ~ $ diff -c 1 2
*** 1 2011-08-13 17: 05: 40.433966684 +0200
--- 2 2011-08-13 17: 11: 24.369966629 +0200
***************
*** 1,3 ****
test
! test2
test3
--- 1,3 ----
test
! test2
test3
Un "!" rappresenta un cambiamento tra le righe che corrispondono nei due file. Un "+" rappresenta l'aggiunta di una linea, mentre uno spazio vuoto rappresenta una linea invariata. All'inizio della patch ci sono le informazioni sul file, incluso il percorso completo e un timestamp. All'inizio di ogni blocco ci sono i numeri di riga che si applicano per la modifica corrispondente nei file. Un intervallo di numeri che appare tra gruppi di tre asterischi si applica al file originale, mentre i gruppi di tre trattini si applicano al nuovo file. Gli intervalli di hunk specificano i numeri di riga iniziale e finale nel rispettivo file.
Espandendo il commento di Lekensteyn sul formato unificato:
rinzwind @ discworld: ~ $ diff -u 1 2
--- 1 2011-08-13 17: 05: 40.433966684 +0200
+++ 2 2011-08-13 17: 11: 24.369966629 +0200
@@ -1,3 +1,3 @@
test
-test2
+ test2
test3
Il formato inizia con la stessa intestazione a due righe del formato di contesto, tranne per il fatto che il file originale è preceduto da "---" e il nuovo file è preceduto da "+++". Di seguito sono riportati uno o più hunk di modifica che contengono le differenze di riga nel file. Le linee contestuali invariate sono precedute da un carattere spazio, le linee di addizione sono precedute da un segno più e le linee di cancellazione sono precedute da un segno meno.
Alcune opzioni utili:
-b
Ignora i cambiamenti nella quantità di spazio bianco.
-w
Ignora tutto lo spazio bianco.
-B
Ignora tutte le righe vuote.
-y
uscita in 2 colonne.