Сравнение и объединение файлов diff, diff3, sdiff, cmp, patch : Запуск 'diff3'

Вперед Назад Содержание

14. Запуск 'diff3'

Команда 'diff3' сравнивает три файла и выводит описание их различий. Ее формат следующий:

      diff3 OPTIONS... MINE OLDER YOURS   
Сравниваемые файлы - MINE, OLDER и YOURS. Одно (но не больше) из трех имен файлов может быть '-', что означает для 'diff3', что соответствующий файл должен читаться из стандартного ввода.

Результат завершения 0 означает что 'diff3' успешно завершил работу, 1 - найдены конфликты, 2 - обнаружена ошибка.

14.1 Опции 'diff3'

Далее приводится суммарное изложение опций воспринимаемых GNU 'diff3'. Объединение однобуквенных опций (если они не имеют аргумента) может быть скомбинировано в одну слово командой строки.

'-a'

Воспринимает все файлы как текстовые и сравнивает их строка за строкой, даже если они не похожи на текст.

'-A'

Объединяет все изменения от OLDER к YOURS в MINE, выделяя все конфликты специальными отмечающими строками. См. "Пометка конфликтов".

'-e'

Задает вывод в формате 'ed' скрипта, объединяющий все изменения от OLDER к YOURS в MINE.

'-E'

Аналогичен '-e', за исключением специальных отмечающих строк с перекрывающимися изменениями первого и третьего файлов. См. "Пометка конфликтов". С '-E', перекрывающиеся изменения выглядят так:

           <<<<<<< MINE   
           lines from MINE   
           =======   
           lines from YOURS   
           >>>>>>> YOURS   
'-ed'

Генерирует 'ed' скрипт, объединяющий все изменения от OLDER к YOURS в MINE.

'--easy-only'

Аналогичен '-e', за исключением того, что выводит только неперекрывающиеся изменения.

'-i'

Генерирует 'w' и 'q' команды в конце 'ed' скрипта для совместимости с System V. Эта опция должна комбинироваться с одной из опций '-AeExX3', и не должна комбинироваться с '-m'. См. "Сохранение измененных файлов".

'--intial-tab'

Заменяет на табуляцию два пробела перед текстом строки в нормальном формате. Благодаря этому выравнивание по табуляции в строках выглядит нормально.

'-L LABEL' или '--label=LABEL'

Использует метку LABEL для специальных отмечающих строк выводимых опциями '-A', '-E' и '-X'. Эта опция может быть задана три раза, по одному для каждого входного файла. По умолчанию метки - имена входных файлов. Так 'diff3 -L X -L Y -L Z A B C' действует подобно 'diff3 -m A B C', за исключением того, что результаты работы выглядят как будто обрабатывались файлы 'X', 'Y' и 'Z', а не 'A', 'B' и 'C'. См. "Пометка конфликтов".

'-m' или '--merge'

Применяет скрипт редактора к первому файлу и выдает результат стандартным образом. В отличие от пропускания результатов 'diff3' через 'ed', это работает даже для двоичных файлов и неполных строк. Предполагается, что задана опция '-A', если не указано опции для скрипта редактирования.

'--overlap-only'

Аналогично '-e', за исключением того, что выводятся только перекрывающиеся изменения.

'--show-all'

Объединяет все неслитые изменения от OLDER к YOURS в MINE, заключая все перекрывающиеся изменения в ограничивающие строки.

'--show-overlap'

Аналогично '-e', за исключением ограничивающих строк для перекрывающихся изменений первого и третьего файлов.

'-T'

Заменяет на табуляцию пробелы перед текстом строки в нормальном или контекстном формате. Благодаря этому выравнивание по табуляции в строках выглядит нормально.

'--text'

Рассматривает все файлы как текстовые и сравнивает их строка за строкой, даже если они не похожи на текст.

'-v' или '--version'

Выводит номер версии 'diff3'

'-x'

Аналогично '-e', за исключением того, что выводятся только перекрывающиеся изменения.

'-X'

Аналогично '-E', за исключением того, что выводятся только перекрывающиеся изменения. Другими словами, как '-x', за исключением того, что выводятся строки-скобки как в '-E'

`-3'

Аналогично '-e', за исключением того, что выводятся только неперекрывающиеся изменения.


Вперед Назад Содержание