Лаборатория кодера

Инструмент

Сравнение текстов (diff)

Построчно сравнивает два текста и подсвечивает добавленные и удалённые строки. Умеет не замечать пробелы и регистр, выдаёт результат в формате unified diff.

Работает в браузере, данные никуда не отправляются

Unified diff

Как это работает

Сравнение построено на алгоритме Майерса (1986), тот же лежит в основе git diff и GNU diff. Он ищет самую длинную общую последовательность строк, а всё, что в неё не вошло, помечает как удалённое (-) или добавленное (+). Изменённая строка показывается как пара: старая удалена, новая добавлена.

Как читать unified diff

Строка @@ -3,5 +3,6 @@ значит: фрагмент начинается в старом файле с 3-й строки и занимает 5 строк, в новом — с 3-й и занимает 6. Строки без знака — контекст, они есть в обоих вариантах.

bash
diff -u old.conf new.conf           # тот же формат в терминале
diff -u old.conf new.conf > fix.patch
patch -p0 < fix.patch               # применить
git diff --no-index a.txt b.txt     # git умеет сравнивать любые файлы
git diff --word-diff                # разница по словам