Библиотека сайта rus-linux.net
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', за исключением того, что выводятся только неперекрывающиеся изменения.
Next Previous Contents