diff

DIFF(1)                          Инструменты GNU                         DIFF(1)



НАЗВАНИЕ
       diff - ищет различия между двумя файлами

ОБЗОР
       diff [опции] from-файл to-файл

ОПИСАНИЕ
       В простейшем случае diff сравнивает содержимое двух файлов, from-файла и
       to-файла.  Имя файла - означает, что текст должен читаться из
       стандартного ввода.  В специальном случае diff - - сравнивает копию
       стандартного ввода с ней же.

       Если from-файл -- это каталог, а to-файл -- нет, то diff сравнивает файл
       from-файл/to-файл с файлом to-file.  Точно так же для случая, когда
       from-файл -- это не каталог, а to-файл -- каталог.  Файл, который не
       является каталогом, не должен быть -.

       Если и from-файл, и to-файл -- каталоги, то diff сравнивает
       соответствующие файлы в обоих каталогах, в алфавитном порядке; данное
       сравнение будет выполняться рекурсивно, если задана опция -r или опция
       --recursive .  diff никогда не сравнивает сырое содержимое каталогов, как
       если бы они были файлами.  Полностью заданный файл не может быть
       стандартным вводом, потому что стандартный ввод не имеет имени и понятие
       ``файл с таким же именем'' не применяется.

       Опции diff начинаются с -, так что обычно from-файл и to-файл не могут
       начинаться с символа -.  Однако, аргумент -- говорит, что опции
       закончились и следующий за ним аргумент является именем файла, даже если
       он начинается с символа -.

   Опции
       Ниже дан список всех опций, с которыми работает GNU diff .  Большинство
       опций имеет два эквивалентных названия: однобуквенное, которое начинается
       с -, и длинное, начинающееся с --.  Несколько однобуквенных опций, не
       имеющих аргументов, могут быть скомбинированы в одно слово: -ac
       эквивалентно -a -c.  Для опций, которые имеют длинные имена, допускаются
       однозначные сокращения.  Скобки ([ и ]) означают, что опция имеет
       необязательный аргумент.

       -количество_строк
              Показывает количество_строк контекста. Сама данная опция не задает
              формат вывода; она не оказывает влияния, пока не комбинируется с
              опциями -c или -u.  Данная опция устарела. Для выполнения нужной
              операции, программе patch обычно нужно не менее двух строк
              контекста.

       -a     Считать все файлы текстовыми и сравнивать их построчно, даже если
              они не выглядят текстовыми.

       -b     Игнорировать изменения в количестве пробелов, табуляций и т. п.

       -B     Игнорировать изменения, касающиеся только вставки или удаления
              пустых строк.

       --brief
              Извещать только о самом факте различия файлов, без каких-либо
              подробностей.

       -c     Использовать контекстный формат вывода.

       -C количество_строк
       --context[=количество_строк]
              Использовать контекстный формат вывода, показывая заданное
              количество строк контекста, или три строки, если это количество не
              задано. Для корректной работы программе patch обычно нужно не
              менее двух строк контекста.

       --changed-group-format=формат
              Использовать заданный формат для вывода группы строк, содержащей
              различающиеся строки из обоих файлов в формате если-то-иначе.

       -d     Включает алгоритм поиска минимального набора изменений.
              Применение этой опции делает работу diff более медленной (иногда
              очень медленной).

       -D имя Показывает объединенные изменения в файлах, выводя их в формате
              если-то-иначе, с использованием директивы препроцессора #define
              имя

       -e
       --ed   Создает вывод в форме сценария для ed.

       --exclude=шаблон
              При сравнении каталогов игнорирует файлы и подкаталоги, чьи имена
              совпадают с шаблоном.

       --exclude-from=файл
              При сравнении каталогов игнорирует файлы и подкаталоги, чьи имена
              совпадают с шаблонами, находящимся в файле.

       --expand-tabs
              При выводе заменяет табуляцию пробелами для сохранения
              выравнивания во входных файлах.

       -f     Делает вывод похожим на сценарий для ed, но изменения показываются
              в том порядке, в котором они встречаются в файле.

       -F регулярное_выражение
              В контекстном и унифицированном формате, для каждой порции
              различий, показывать несколько строк, предшествующих этой порции,
              которые совпадают с регулярным_выражением.

       --forward-ed
              Делает вывод похожим на сценарий для ed, но изменения показываются
              в том порядке, в котором они встречаются в файле.

       -h     Данная опция в данный момент не оказывает никакого эффекта; она
              предоставляется для совместимости с Unix.

       -H     Использовать эвристики для быстрой обработки больших файлов,
              которые имеют несколько маленьких изменений, разбросанных по
              файлу.

       --horizon-lines=lines
              Не отбрасывать последние lines общих для обоих файлов перед и
              первые lines общих для обоих файлов строк после.

       -i     Игнорировать изменения в регистре символов; считать буквы верхнего
              и нижнего регистров (строчные и прописные) эквивалентными.

       -I регулярное_выражение
              Игнорировать изменения, которые касаются только вставки или
              удаления строк, совпадающих с регулярным_выражением.

       --ifdef=имя
              Показывает объединенные изменения в файлах, выводя их в формате
              если-то-иначе, с использованием директивы препроцессора #define
              имя

       --ignore-all-space
              Игнорировать изменения в количестве пробелов, табуляций и т. п.

       --ignore-blank-lines
              Игнорировать изменения, касающиеся только вставки или удаления
              пустых строк.

       --ignore-case
              Игнорировать изменения в регистре символов; считать буквы верхнего
              и нижнего регистров (строчные и прописные) эквивалентными.

       --ignore-matching-lines=регулярное_выражение
              Игнорировать изменения, касающиеся только вставки и удаления
              строк, совпадающих с регулярным_выражением.

       --ignore-space-change
              Игнорировать изменение количества пробелов, табуляций и т. п.

       --initial-tab
              Выводить перед строкой текста в нормальном или контекстном формате
              табуляцию вместо пробела.  За счет выравнивания по границам
              табуляции получается нормальный вид строки.

       -l     Передавать результат команде pr для разбития его на страницы.

       -L метка
       --label=метка
              Использовать метку вместо имени файла в заголовке контекстного и
              унифицированного формата.

       --left-column
              Выводить только левую колонку для двух общих (для обоих файлов)
              строк при двухстороннем формате.

       --line-format=формат
              Использовать заданный формат для вывода всех входных строк в
              формате если-то-иначе.

       --minimal
              Включает алгоритм поиска минимального набора изменений.
              Применение этой опции делает работу diff более медленной (иногда
              очень медленной).

       -n     Вывод в формате RCS-diff; как и в опции -f за исключением того,
              что каждая команда задает количество затронутых строк.

       -N
       --new-file
              При сравнении каталогов, если файл найден только в одном каталоге,
              то считать, что он существует и в другом каталоге, но является
              пустым.

       --new-group-format=формат
              Использовать заданный формат для вывода группы строк, которая
              берется только из второго файла в формате если-то-иначе.

       --new-line-format=формат
              Использовать заданный формат для вывода строки, которая берется
              только из второго файла в формате если-то-иначе.

       --old-group-format=format
              Использовать заданный формат для вывода группы строк, которая
              берется только из первого файла в формате если-то-иначе.

       --old-line-format=format
              Использовать заданный формат для вывода строки, которая берется
              только из первого файла в формате если-то-иначе.

       -p     Показывать, внутри каких функций языка C происходит каждое
              изменение.

       -P     При сравнении каталогов, если файл существует только во втором
              каталоге, то считать, что он есть и в другом каталоге, но только
              пустой.

       --paginate
              Передавать результат команде pr для разбития его на страницы.

       -q     Извещать только о самом факте различия файлов, без каких-либо
              подробностей.

       -r     При сравнении каталогов производить рекурсивное сравнение всех
              найденных подкаталогов.

       --rcs  Вывод в формате RCS-diff; как и в опции -f за исключением того,
              что каждая команда задает количество затронутых строк.

       --recursive
              При сравнении каталогов производить рекурсивное сравнение всех
              найденных подкаталогов.

       --report-identical-files
       -s     Сообщать, что два файла являются одинаковыми.

       -S файл
              При сравнении каталогов начинать с файла файл.  Данная опция
              используется для продолжения прерванного процесса сравнения.

       --sdiff-merge-assist
              Выдавать дополнительную информацию, чтобы помочь программе sdiff.
              sdiff использует данную опцию, когда он запускает diff.  Данная
              опция задумывалась не для использования человеком.

       --show-c-function
              Показывать, внутри каких функций языка C происходит каждое
              изменение.

       --show-function-line=регулярное_выражение
              В контекстном и унифицированном формате, для каждой порции
              различий, показывать несколько строк, предшествующих этому
              изменению, которые совпадают с регулярным_выражением.


       --side-by-side
              Использовать двухсторонний формат вывода.

       --speed-large-files
              Использовать эвристики для быстрой обработки больших файлов,
              которые содержат несколько небольших изменений, разбросанных по
              файлу.

       --starting-file=file
              При сравнении каталогов начинать с файла файл.  Данная опция
              используется для продолжения прерванного процесса сравнения.

       --suppress-common-lines
              Не выводить общие для обоих файлов строки в двухстороннем формате.

       -t     При выводе заменяет табуляцию пробелами для сохранения
              выравнивания.

       -T     Выводить перед строкой текста в нормальном или контекстном формате
              табуляцию вместо пробелов. За счет выравнивания по границам
              табуляции получается нормальный вид строки.

       --text Считать все файлы текстовыми и сверять их построчно, даже если они
              не выглядят, как текстовые.

       -u     Использовать унифицированный формат вывода.

       --unchanged-group-format=формат
              Использовать заданный формат для вывода группы общих для обоих
              файлов строк, которые берутся из обоих файлов в формате
              если-то-иначе.

       --unchanged-line-format=формат
              Использовать заданный формат для вывода общей строки (для обоих
              файлов) в формате если-то-иначе.

       --unidirectional-new-file
              При сравнении каталогов, если файл существует только во втором
              каталоге, то считать, что он есть и в другом каталоге, но только
              пустой.

       -U lines
       --unified[=количество_строк]
              Использовать унифицированный формат вывода, показывая
              количество_строк содержимого или три строки, если это количество
              не задано.  Для корректной работы программе patch обычно нужно не
              менее двух строк содержимого.

       -v
       --version
              Вывести номер версии diff.

       -w     Игнорировать пробелы и табуляции при сравнении строк.

       -W ширина
       --width=ширина
              Использовать при выводе в двухстороннем формате колонки заданной
              ширины .

       -x шаблон
              При сравнении каталогов игнорирует файлы и подкаталоги, чьи имена
              совпадают с шаблоном.

       -X файл
              При сравнении каталогов, игнорирует файлы и подкаталоги, чьи имена
              совпадают с шаблонами, находящимися в файле.

       -y     Использовать двухсторонний формат.

СМ. ТАКЖЕ
       cmp(1), comm(1), diff3(1), ed(1), patch(1), pr(1), sdiff(1).

ДИАГНОСТИКА
       Если код возврата равен 0, то различий найдено не было, если 1, то были
       найдены некоторые различия и если 2, то есть проблема.

ПЕРЕВОД
       Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003



Инструменты GNU                    1993-09-22                            DIFF(1)