.\" Date: Fri, 11 Sep 1998 19:13:45 +0100 .\" From: Edward Betts .\" .\" Derived from the GNU diff info page. .\" May be distributed under the GPL. .\" .\" Дата последней коррекции перевода 30.11.2003 .\" Перевод с английского выполнил Виктор Вислобоков .\" http://www.linuxshare.ru/projects/trans/mans.html .\" Вычитано и скорректировано by alexm@hsys.msk.ru для проекта .\" http://alexm.here.ru/manpages-ru/ .TH DIFF 1 1993-09-22 "Инструменты GNU" "Инструменты GNU" .SH НАЗВАНИЕ diff \- ищет различия между двумя файлами .SH ОБЗОР .B diff [опции] from-файл to-файл .SH ОПИСАНИЕ В простейшем случае .I diff сравнивает содержимое двух файлов, .I from-файла и .IR to-файла . Имя файла .B \- означает, что текст должен читаться из стандартного ввода. В специальном случае .B "diff \- \-" сравнивает копию стандартного ввода с ней же. Если .IR from-файл " --" это каталог, а .IR to-файл " --" нет, то .I diff сравнивает файл .I from-файл/to-файл с файлом .IR to-file . Точно так же для случая, когда .IR from-файл " --" это не каталог, а .IR to-файл " --" каталог. Файл, который не является каталогом, не должен быть .BR \- . Если и .IR from-файл , и .IR to-файл " --" каталоги, то .I diff сравнивает соответствующие файлы в обоих каталогах, в алфавитном порядке; данное сравнение будет выполняться рекурсивно, если задана опция .B \-r или опция .B \-\-recursive . .I diff никогда не сравнивает сырое содержимое каталогов, как если бы они были файлами. Полностью заданный файл не может быть стандартным вводом, потому что стандартный ввод не имеет имени и понятие ``файл с таким же именем'' не применяется. Опции .B diff начинаются с .BR \- , так что обычно .I from-файл и .I to-файл не могут начинаться с символа .BR \- . Однако, аргумент .B \-\- говорит, что опции закончились и следующий за ним аргумент является именем файла, даже если он начинается с символа .BR \- . .SS Опции Ниже дан список всех опций, с которыми работает GNU .I diff . Большинство опций имеет два эквивалентных названия: однобуквенное, которое начинается с .BR \- , и длинное, начинающееся с .BR \-\- . Несколько однобуквенных опций, не имеющих аргументов, могут быть скомбинированы в одно слово: .B \-ac эквивалентно .BR "\-a \-c" . Для опций, которые имеют длинные имена, допускаются однозначные сокращения. Скобки .RB ( [ и .BR ] ) означают, что опция имеет необязательный аргумент. .TP .BI \- количество\_строк Показывает .I количество\_строк контекста. Сама данная опция не задает формат вывода; она не оказывает влияния, пока не комбинируется с опциями .B \-c или .BR \-u . Данная опция устарела. Для выполнения нужной операции, программе .I patch обычно нужно не менее двух строк контекста. .TP .B \-a Считать все файлы текстовыми и сравнивать их построчно, даже если они не выглядят текстовыми. .TP .B \-b Игнорировать изменения в количестве пробелов, табуляций и т.\ п. .TP .B \-B Игнорировать изменения, касающиеся только вставки или удаления пустых строк. .TP .B \-\-brief Извещать только о самом факте различия файлов, без каких-либо подробностей. .TP .B \-c Использовать контекстный формат вывода. .TP .BI "\-C " количество\_строк .br .ns .TP .BI \-\-context[= количество\_строк ] Использовать контекстный формат вывода, показывая заданное .I количество строк контекста, или три строки, если это количество не задано. Для корректной работы программе .I patch обычно нужно не менее двух строк контекста. .TP .BI \-\-changed\-group\-format= формат Использовать заданный .I формат для вывода группы строк, содержащей различающиеся строки из обоих файлов в формате если-то-иначе. .TP .B \-d Включает алгоритм поиска минимального набора изменений. Применение этой опции делает работу .I diff более медленной (иногда очень медленной). .TP .BI "\-D " имя Показывает объединенные изменения в файлах, выводя их в формате если-то-иначе, с использованием директивы препроцессора .BI #define " имя" .TP .B \-e .br .ns .TP .B \-\-ed Создает вывод в форме сценария для .IR ed . .TP .BI \-\-exclude= шаблон При сравнении каталогов игнорирует файлы и подкаталоги, чьи имена совпадают с .IR шаблоном . .TP .BI \-\-exclude\-from= файл При сравнении каталогов игнорирует файлы и подкаталоги, чьи имена совпадают с шаблонами, находящимся в .IR файле . .TP .B \-\-expand\-tabs При выводе заменяет табуляцию пробелами для сохранения выравнивания во входных файлах. .TP .B \-f Делает вывод похожим на сценарий для .IR ed , но изменения показываются в том порядке, в котором они встречаются в файле. .TP .BI "\-F " регулярное\_выражение В контекстном и унифицированном формате, для каждой порции различий, показывать несколько строк, предшествующих этой порции, которые совпадают с .IR регулярным\_выражением . .TP .B \-\-forward\-ed Делает вывод похожим на сценарий для .IR ed , но изменения показываются в том порядке, в котором они встречаются в файле. .TP .B \-h Данная опция в данный момент не оказывает никакого эффекта; она предоставляется для совместимости с Unix. .TP .B \-H Использовать эвристики для быстрой обработки больших файлов, которые имеют несколько маленьких изменений, разбросанных по файлу. .TP .BI \-\-horizon\-lines= lines Не отбрасывать последние .I lines общих для обоих файлов перед и первые .I lines общих для обоих файлов строк после. .TP .B \-i Игнорировать изменения в регистре символов; считать буквы верхнего и нижнего регистров (строчные и прописные) эквивалентными. .TP .BI "\-I " регулярное\_выражение Игнорировать изменения, которые касаются только вставки или удаления строк, совпадающих с .IR регулярным\_выражением . .TP .BI \-\-ifdef= имя Показывает объединенные изменения в файлах, выводя их в формате если-то-иначе, с использованием директивы препроцессора .BI #define " имя" .TP .B \-\-ignore\-all\-space Игнорировать изменения в количестве пробелов, табуляций и т.\ п. .TP .B \-\-ignore\-blank\-lines Игнорировать изменения, касающиеся только вставки или удаления пустых строк. .TP .B \-\-ignore\-case Игнорировать изменения в регистре символов; считать буквы верхнего и нижнего регистров (строчные и прописные) эквивалентными. .TP .BI \-\-ignore\-matching\-lines= регулярное\_выражение Игнорировать изменения, касающиеся только вставки и удаления строк, совпадающих с .IR регулярным\_выражением . .TP .B \-\-ignore\-space\-change Игнорировать изменение количества пробелов, табуляций и т.\ п. .TP .B \-\-initial\-tab Выводить перед строкой текста в нормальном или контекстном формате табуляцию вместо пробела. За счет выравнивания по границам табуляции получается нормальный вид строки. .TP .B \-l Передавать результат команде .I pr для разбития его на страницы. .TP .BI "\-L " метка .br .ns .TP .BI \-\-label= метка Использовать .I метку вместо имени файла в заголовке контекстного и унифицированного формата. .TP .B \-\-left\-column Выводить только левую колонку для двух общих (для обоих файлов) строк при двухстороннем формате. .TP .BI \-\-line\-format= формат Использовать заданный .I формат для вывода всех входных строк в формате если-то-иначе. .TP .B \-\-minimal Включает алгоритм поиска минимального набора изменений. Применение этой опции делает работу .I diff более медленной (иногда очень медленной). .TP .B \-n Вывод в формате RCS-diff; как и в опции .B \-f за исключением того, что каждая команда задает количество затронутых строк. .TP .B \-N .br .ns .TP .B \-\-new\-file При сравнении каталогов, если файл найден только в одном каталоге, то считать, что он существует и в другом каталоге, но является пустым. .TP .BI \-\-new\-group\-format= формат Использовать заданный .I формат для вывода группы строк, которая берется только из второго файла в формате если-то-иначе. .TP .BI \-\-new\-line\-format= формат Использовать заданный .I формат для вывода строки, которая берется только из второго файла в формате если-то-иначе. .TP .BI \-\-old\-group\-format= format Использовать заданный .I формат для вывода группы строк, которая берется только из первого файла в формате если-то-иначе. .TP .BI \-\-old\-line\-format= format Использовать заданный .I формат для вывода строки, которая берется только из первого файла в формате если-то-иначе. .TP .B \-p Показывать, внутри каких функций языка C происходит каждое изменение. .TP .B \-P При сравнении каталогов, если файл существует только во втором каталоге, то считать, что он есть и в другом каталоге, но только пустой. .TP .B \-\-paginate Передавать результат команде .I pr для разбития его на страницы. .TP .B \-q Извещать только о самом факте различия файлов, без каких-либо подробностей. .TP .B \-r При сравнении каталогов производить рекурсивное сравнение всех найденных подкаталогов. .TP .B \-\-rcs Вывод в формате RCS-diff; как и в опции .B \-f за исключением того, что каждая команда задает количество затронутых строк. .TP .B \-\-recursive При сравнении каталогов производить рекурсивное сравнение всех найденных подкаталогов. .TP .B \-\-report\-identical\-files .br .ns .TP .B \-s Сообщать, что два файла являются одинаковыми. .TP .BI "\-S " файл При сравнении каталогов начинать с файла .IR файл . Данная опция используется для продолжения прерванного процесса сравнения. .TP .B \-\-sdiff\-merge\-assist Выдавать дополнительную информацию, чтобы помочь программе .IR sdiff . .I sdiff использует данную опцию, когда он запускает .IR diff . Данная опция задумывалась не для использования человеком. .TP .B \-\-show\-c\-function Показывать, внутри каких функций языка C происходит каждое изменение. .TP .BI \-\-show\-function\-line= регулярное\_выражение В контекстном и унифицированном формате, для каждой порции различий, показывать несколько строк, предшествующих этому изменению, которые совпадают с .IR регулярным\_выражением . .TP .B \-\-side\-by\-side Использовать двухсторонний формат вывода. .TP .B \-\-speed\-large\-files Использовать эвристики для быстрой обработки больших файлов, которые содержат несколько небольших изменений, разбросанных по файлу. .TP .BI \-\-starting\-file= file При сравнении каталогов начинать с файла .IR файл . Данная опция используется для продолжения прерванного процесса сравнения. .TP .B \-\-suppress\-common\-lines Не выводить общие для обоих файлов строки в двухстороннем формате. .TP .B \-t При выводе заменяет табуляцию пробелами для сохранения выравнивания. .TP .B \-T Выводить перед строкой текста в нормальном или контекстном формате табуляцию вместо пробелов. За счет выравнивания по границам табуляции получается нормальный вид строки. .TP .B \-\-text Считать все файлы текстовыми и сверять их построчно, даже если они не выглядят, как текстовые. .TP .B \-u Использовать унифицированный формат вывода. .TP .BI \-\-unchanged\-group\-format= формат Использовать заданный .I формат для вывода группы общих для обоих файлов строк, которые берутся из обоих файлов в формате если-то-иначе. .TP .BI \-\-unchanged\-line\-format= формат Использовать заданный .I формат для вывода общей строки (для обоих файлов) в формате если-то-иначе. .TP .B \-\-unidirectional\-new\-file При сравнении каталогов, если файл существует только во втором каталоге, то считать, что он есть и в другом каталоге, но только пустой. .TP .BI "\-U " lines .br .ns .TP .BI \-\-unified[= количество\_строк ] Использовать унифицированный формат вывода, показывая .I количество\_строк содержимого или три строки, если это количество не задано. Для корректной работы программе .I patch обычно нужно не менее двух строк содержимого. .TP .B \-v .br .ns .TP .B \-\-version Вывести номер версии .IR diff . .TP .B \-w Игнорировать пробелы и табуляции при сравнении строк. .TP .BI "\-W " ширина .br .ns .TP .BI \-\-width= ширина Использовать при выводе в двухстороннем формате колонки заданной .I ширины . .TP .BI "\-x " шаблон При сравнении каталогов игнорирует файлы и подкаталоги, чьи имена совпадают с .IR шаблоном . .TP .BI "\-X " файл При сравнении каталогов, игнорирует файлы и подкаталоги, чьи имена совпадают с шаблонами, находящимися в .IR файле . .TP .B \-y Использовать двухсторонний формат. .SH "СМ. ТАКЖЕ" .BR cmp (1), .BR comm (1), .BR diff3 (1), .BR ed (1), .BR patch (1), .BR pr (1), .BR sdiff (1). .SH ДИАГНОСТИКА Если код возврата равен 0, то различий найдено не было, если 1, то были найдены некоторые различия и если 2, то есть проблема. .SH ПЕРЕВОД Перевёл с английского Виктор Вислобоков 2003