1-й рядок: a
означає додані, d
видалені та c
змінені. Номери рядків у вихідному файлі з’являються перед цими літерами, а зміни в файлі - після цього листа.
2-й рядок: рядок з <
є з файлу 1 і відрізняється від файлу 2.
3-й рядок - дільник.
4-й рядок: рядок з >
є з файлу 2 і відрізняється від файлу 1.
(Якщо ви коли-небудь бачите =
це означає, що рядки однакові в обох файлах)
І вашою проблемою можуть бути пробіли або інші читабельні символи, які не читаються людиною: вони також викликають різницю.
Існує кілька варіантів маніпулювання результатами.
Приклад:
rinzwind @ discworld: ~ $ більше 1
тест
тест2
тест3
rinzwind @ discworld: ~ $ більше 2
тест
тест2
тест3
контекстний формат:
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 ****
тест
! тест2
тест3
--- 1,3 ----
тест
! тест2
тест3
А "!" являє собою зміну між рядками, які відповідають двом файлам. "+" Являє собою додавання рядка, тоді як порожній пробіл являє собою незмінний рядок. На початку патча - інформація про файл, включаючи повний шлях та часову позначку. На початку кожного елемента - номери рядків, які застосовуються до відповідної зміни у файлах. Діапазон чисел між наборами з трьох зірочок застосовується до оригінального файлу, тоді як набори з трьох тире застосовуються до нового файлу. Діапазони запису задають номери початкового та кінцевого рядків у відповідному файлі.
Розширення на коментар Лекенштейна щодо уніфікованого формату:
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 @@
тест
-тест2
+ тест2
тест3
Формат починається з того самого дворядкового заголовка, що і контекстного формату, за винятком того, що вихідному файлу передує "---", а новому файлу передує "+++". Слідом за цим є один або кілька запитів змін, які містять різниці рядків у файлі. Зміненим, контекстним рядкам передує пробільний символ, рядкам додавання передує знак плюс, а рядкам видалення передує знак мінус.
Деякі корисні варіанти:
-b
Ігноруйте зміни кількості білого простору.
-w
Ігноруйте весь простір.
-B
Ігноруйте всі порожні рядки.
-y
вихід у 2 колон.