Pierwszy wiersz: a
oznacza dodany, d
usunięty i c
zmieniony. Numery wierszy oryginalnego pliku pojawiają się przed tymi literami, a numery zmodyfikowanego pliku pojawiają się po literze.
Druga linia: linia z <
pochodzi z pliku 1 i różni się od pliku 2.
Trzecia linia to dzielnik.
4. linia: linia z >
pochodzi z pliku 2 i różni się od pliku 1.
(Jeśli kiedykolwiek zobaczysz =
, oznacza to, że linie są takie same w obu plikach)
Problemem mogą być białe spacje lub inne znaki, które nie są czytelne dla człowieka: one również powodują różnicę.
Istnieje kilka opcji manipulowania danymi wyjściowymi.
Przykład:
rinzwind @ discworld: ~ $ więcej 1
test
test2
test3
rinzwind @ discworld: ~ $ więcej 2
test
test2
test3
format kontekstowy:
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
„!” reprezentuje zmianę między liniami odpowiadającymi w dwóch plikach. „+” Oznacza dodanie linii, a puste miejsce oznacza niezmienioną linię. Na początku łatki znajdują się informacje o pliku, w tym pełna ścieżka i znacznik czasu. Na początku każdego przystojnika są numery linii, które dotyczą odpowiedniej zmiany w plikach. Zakres liczbowy pojawiający się między zestawami trzech gwiazdek dotyczy oryginalnego pliku, a zestawy trzech myślników dotyczy nowego pliku. Zakresy przystawki określają numery linii początkowej i końcowej w odpowiednim pliku.
Rozszerzając komentarz Lekensteyn na temat ujednoliconego formatu:
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
Format zaczyna się od tego samego dwuwierszowego nagłówka, co format kontekstowy, z tym że oryginalny plik poprzedza „---”, a nowy plik poprzedza „+++”. Po tym następuje jeden lub więcej fragmentów zmian, które zawierają różnice linii w pliku. Niezmienione linie kontekstowe poprzedzone są spacją, linie dodatkowe poprzedzone są znakiem plus, a linie usuwania poprzedzone są znakiem minus.
Kilka przydatnych opcji:
-b
Zignoruj zmiany w ilości białego pola.
-w
Zignoruj wszystkie białe znaki.
-B
Zignoruj wszystkie puste linie.
-y
wyjście w 2 kolumnach.