1-я строка: a
обозначает добавленное, d
удаленное и c
измененное. Номера строк исходного файла появляются перед этими буквами, а номера измененного файла - после буквы.
2-я строка: строка с <
файлом 1 и отличается от файла 2.
3-я строка - это разделитель.
4-я строка: строка с >
файлом 2 и отличается от файла 1.
(Если вы когда-либо видите, =
это означает, что строки в обоих файлах одинаковы)
И вашей проблемой могут быть пробелы или другие нечитаемые человеком символы: они тоже вызывают разницу.
Есть несколько вариантов манипулирования выводом.
Пример:
rinzwind @ discworld: ~ $ больше 1
контрольная работа
test2
test3
rinzwind @ discworld: ~ $ больше 2
контрольная работа
test2
test3
контекстный формат:
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 ****
контрольная работа
! test2
test3
--- 1,3 ----
контрольная работа
! test2
test3
"!" представляет изменение между строками, которые соответствуют в двух файлах. «+» Представляет добавление строки, в то время как пробел представляет неизменную строку. В начале патча находится информация о файле, включая полный путь и отметку времени. В начале каждого блока находятся номера строк, которые применяются для соответствующего изменения в файлах. Диапазон номеров, появляющийся между наборами из трех звездочек, применяется к исходному файлу, в то время как наборы из трех тире применяются к новому файлу. Диапазоны блоков указывают номера начальной и конечной строк в соответствующем файле.
Расширение комментария Лекенштейна об унифицированном формате:
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 @@
контрольная работа
-test2
+ test2
test3
Формат начинается с того же двухстрочного заголовка, что и контекстный формат, за исключением того, что исходному файлу предшествует «---», а новому файлу предшествует «+++». Далее следует один или несколько блоков изменений, которые содержат различия строк в файле. Неизменным контекстным строкам предшествует пробел, строкам добавления предшествует знак плюс, а линиям удаления предшествует знак минус.
Несколько полезных опций:
-b
Игнорировать изменения количества пустого пространства.
-w
Игнорировать все пустое пространство.
-B
Игнорировать все пустые строки.
-y
вывод в 2 столбца.