Стандартний (старий) формат виводу відображатиме різницю між файлами без оточуючого тексту з областями, де файли відрізняються.
Показано відмінності без контексту
"Нормальний" diff
вихідний формат показує кожну частину відмінностей без будь-якого оточуючого контексту. Іноді такий вихід є найяснішим способом побачити, як змінилися рядки, без захаращення сусідніх незмінних ліній (хоча ви можете отримати подібні результати з контекстом або уніфікованими форматами, використовуючи 0 рядків контексту). Однак цей формат більше не використовується широко для надсилання патчів; з цією метою контекстний формат і уніфікований формат є вищими. Нормальний формат є типовим для сумісності зі старими версіями diff
та стандартом POSIX. Використовуйте --normal
опцію, щоб чітко вибрати цей вихідний формат.
Детальний опис звичайного формату
Нормальний вихідний формат складається з одного або декількох груп відмінностей; кожна команда показує одну область, де файли відрізняються. Звичайний формат виглядає приблизно так:
CHANGE-COMMAND
< FROM-FILE-LINE
< FROM-FILE-LINE...
---
> TO-FILE-LINE
> TO-FILE-LINE...
Існує три типи команд зміни. Кожен складається з номера рядка або розділеного комами рядка у першому файлі, одного символу, що вказує на вид зміни, яке потрібно внести, та номера рядка або розділеного комами рядка у другому файлі. Всі номери рядків - це оригінальні номери рядків у кожному файлі. Типи команд зміни:
LaR
Додайте рядки в діапазоні R другого файлу після рядка L першого файлу. Наприклад, 8a12,15
означає додавання рядків 12-15 файла 2 після рядка 8 файлу 1; або, якщо змінити файл 2 у файл 1, видалити рядки 12-15 файла 2.
FcT
Замініть рядки в діапазоні F першого файлу рядками в діапазоні T другого файлу. Це як комбіноване додавання та видалення, але більш компактне. Наприклад, 5,7c8,10
означає змінити рядки 5-7 файлу 1 для читання як рядки 8-10 файлу 2; або, якщо змінити файл 2 у файл 1, змінити рядки 8-10 файла 2 таким чином, щоб читати як рядки 5-7 файлу 1.
RdL
Видаліть рядки в діапазоні R з першого файлу; рядок L - це те, де вони з'явилися б у другому файлі, якби вони не були видалені. Наприклад, 5,7d3
означає видалити рядки 5-7 файлу 1; або, якщо змінюється файл 2 у файл 1, додайте рядки 5-7 файлу 1 після рядка 3 файлу 2.
Тож, щоб побачити апельсини, вам доведеться розрізняти його чи то поруч, так і використовуючи уніфікований контекст.
oranges
це найбільша спільна частина між двома файлами, тож, що ви отримуєте, це найкоротший спосіб виразити відмінності між ними.