Сравнение двух файлов, построчно (GNU)
diff [опция] файл1 файл2
- -i
- --ignore-case
- Игнорировать различия в регистре символов в содержимом файлов.
- --ignore-file-name-case
- Игнорировать регистр при сравнении имен файлов.
- --no-ignore-file-name-case
- Учитывать регистр при сравнении имен файлов.
- -E
- --ignore-tab-expansion
- Игнорировать изменения, связанные с заменой символов табуляции пробелами.
- -b
- --ignore-space-change
- Игнорировать изменения количества пробельных символов.
- -w
- --ignore-all-space
- Игнорировать все пробельные символы.
- -B
- --ignore-blank-lines
- Игнорировать изменения, касающиеся только вставки или удаления пустых строк.
- -I регулярное_выражение
- --ignore-matching-lines=регулярное_выражение
- Игнорировать изменения, касающиеся только вставки и удаления строк, совпадающих с регулярным_выражением.
- --strip-trailing-cr
- Удалить из ввода завершающие символы перевода строки.
- -a
- --text
- Обработать все файлы как текст.
- -c
- -C число
- --context[=число]
- Выводить указанное число (значение по умолчанию
3
) строк скопированного контекста.
- -u
- -U кол-во
- --unified[=кол-во]
- Выводить указанное число (значение по умолчанию
3
) строк унифицированного контекста.
- --label метка
- Использовать в выводе метку вместо имени файла. Эту опцию можно указать дважды; первая применяется к файл1, вторая – к файл2.
- -p
- --show-c-function
- Показывать, внутри каких функций языка C происходит каждое изменение.
- -F RE
- --show-function-line=RE
- Показывать самую новую строку, которая соответствует данному регулярному выражению.
- -q
- --brief
- Выводить информацию только о факте наличия или отсутствия различий в файлах.
- -e
- --ed
- Выводить сценарий ed.
- --normal
- Отображать различия в стандартном формате.
- -n
- --rcs
- Отображать различия в формате RCS.
- -y
- --side-by-side
- Отображать вывод в двух столбцах.
- -W число
- --width=число
- Выводить не более указанного числа (значение по умолчанию
130
) печатных колонок.
- --left-column
- Выводить только левую колонку для двух общих (для обоих файлов) строк.
- --suppress-common-lines
- Не отображать общие для обоих файлов строки.
- -D имя
- --ifdef=имя
- Выводить объединенный файл для отображения различий #ifdef имя.
- --GTYPE-group-format=GFMT
- Использовать указанный формат для вывода групп строк в формате if-then-else. GTYPE может принимать значение old, new, changed или unchanged. GFMT может содержать:
- %<
- Строки из файл1
- %>
- Строки из файл2
- %=
- Строки, общие для файл1 и файл2.
- %[–][ширина][.[prec]]{doxX}буква
- Использовать данную спецификацию стиля printf() для определенной буквы. Буквы для новой группы представлены ниже; для старой группы используйте строчные буквы:
- F – номер первой строки.
- L – номер последней строки.
- N – количество строк = L-F+1.
- E – F-1.
- M – L+1.
- %%
- Литерал %.
- %c'C'
- Одиночный символ, 'C'.
- %c'\OOO'
- Символ с данным восьмеричным кодом, 'OOO'.
- --line-format=LFMT
- Использовать данный формат для вывода всех строк ввода в формате if-then-else.
- --LTYPE-line-format=LFMT
- Использовать данный формат для вывода отдельных строк в формате if-then-else. LTYPE может принимать значение old, new или unchanged. LFMT может содержать:
- %L
- Содержимое строки.
- %l
- Содержимое строки, исключая какой-либо конечный перевод строки.
- %[–][ширина][.[prec]]{doxX}n
- Использовать указанную спецификацию стиля printf для номеров вводимых строк.
- %%
- Литерал %.
- %c'C'
- Одиночный символ, 'C'.
- %c'\OOO'
- Символ с данным восьмеричным кодом, 'OOO'.
- -l
- --paginate
- Передать вывод команде pr для разбития его на страницы.
- -t
- --expand-tabs
- Преобразовать символы табуляции в пробелы при выводе.
- -T
- --initial-tab
- Выводить перед строкой текста табуляцию вместо пробела.
- -r
- --recursive
- Рекурсивно сравнить любые найденные подкаталоги.
- -N
- --new-file
- При сравнении каталогов, если файл найден только в одном каталоге, то считать, что он существует и в другом каталоге, но является пустым.
- --unidirectional-new-file
- При сравнении каталогов, если файл существует только во втором каталоге, то считать, что он есть и в другом каталоге, но только пустой.
- -s
- --report-identical-files
- Сообщить о том, что файлы являются одинаковыми.
- -x шаблон
- --exclude=шаблон
- Исключить файлы, соответствующие заданному шаблону.
- -X файл
- --exclude-from=файл
- Исключить файлы, соответствующие какому-либо шаблону в файл.
- -S файл
- --starting-file=файл
- При сравнении каталогов начинать с файла файл.
- --from-file=файл1
- Сравнить файл1 со всеми операндами. Аргумент файл1 также может быть именем каталога.
- --to-file=файл2
- Сравнить все операнды с файл2. Аргумент файл2 может также быть именем каталога.
- --horizon-lines=кол-во
- Сохранить кол-во строк общего префикса и суффикса.
- -d
- --minimal
- Интенсивный поиск минимального набора изменений.
- --speed-large-files
- Предположить наличие больших файлов, которые содержат несколько небольших изменений, разбросанных по файлу, для ускорения обработки.
- -v
- --version
- Вывести информацию о версии.
- --help
- Вывести справку.
- файл1
- файл2
- Сравнивать путевые имена файлов. Путевые имена файлов могут быть в следующих формах:
- файл1 файл2
- каталог1 каталог2
- каталог файл...
- файл... каталог
Если указана опция --from-file или --to-file, ограничения для файлов отсутствуют. Если вместо имени файла указано тире (-
), утилита diff считывает из стандартного потока ввода.
ЗОСРВ «Нейтрино»
aarch64, arm, armv7, e2k, mips, ppc, x86
Утилита diff сообщает о различиях между двумя файлами.
 | Если утилита diff используется для сравнения двоичных файлов, то diff просто выводит отчет о наличии различий между файлами. Для просмотра различий между двумя двоичными файлами используется утилита cmp. |
Для любых двух файлов может существовать несколько корректных вариантов интерпретации различий между ними. Утилита diff предпринимает попытку создания минимального количества добавлений, изменений и удалений, требуемых для преобразования файл1 в файл2. Если файлы идентичны, вывод отсутствует.
- 0
- Различий не обнаружено.
- 1
- Обнаружены различия.
- >1
- Возникла ошибка.
Базовые подсистемы ЗОСРВ «Нейтрино»
- В
ЗОСРВ
«Нейтрино»
редакции 2020
утилита обновлена до версии 3.7 (diffutils)
cksum, cmp, diff3, patch, wc
Предыдущий раздел: Утилиты