DIFF(1) | Команды пользователя | DIFF(1) |
ИМЯ
diff — сравнить файлы построчно
СИНТАКСИС
diff [ПАРАМЕТР]... ФАЙЛЫ
ОПИСАНИЕ
Сравнить файлы построчно.
Аргументы, обязательные для длинных параметров, обязательны и для коротких.
- --normal
- вывести результат работы diff в обычном формате (по умолчанию)
- -q, --brief
- выводить только информацию о том, что файлы различаются
- -s, --report-identical-files
- выводить информацию об одинаковых файлах
- -c, -C ЧИСЛО, --context[=ЧИСЛО]
- выводить ЧИСЛО строк (по умолчанию 3) скопированного контекста
- -u, -U ЧИСЛО, --unified[=ЧИСЛО]
- выводить ЧИСЛО строк (по умолчанию 3) объединённого контекста
- -e, --ed
- вывести сценарий для ed
- -n, --rcs
- вывести результат работы diff в формате RCS
- -y, --side-by-side
- осуществлять вывод в две колонки
- -W, --width=ЧИСЛО
- ограничить ширину выводимой информации заданным ЧИСЛОМ столбцов (по умолчанию 130)
- --left-column
- выводить только левую колонку для одинаковых строк
- --suppress-common-lines
- не выводить одинаковые строки
- -p, --show-c-function
- отображать, в какой функции языка C обнаружено каждое из изменений
- -F, --show-function-line=РЕГУЛЯРНОЕ_ВЫРАЖЕНИЕ
- отображать последнюю строку, соответствующую РЕГУЛЯРНОМУ_ВЫРАЖЕНИЮ
- --label МЕТКА
- использовать МЕТКУ вместо имени файла и временной метки (параметр может быть указан более одного раза)
- -t, --expand-tabs
- преобразовывать символы табуляции в пробелы при выводе
- -T, --initial-tab
- выравнивать табуляцию, выводя символ табуляции в начале строки
- --tabsize=ЧИСЛО
- задать шаг табуляции равным ЧИСЛУ столбцов выводимой информации (по умолчанию 8)
- --suppress-blank-empty
- не выводить пробелы или символы табуляции перед пустыми строками
- -l, --paginate
- пропустить выводимую информацию через «pr» для разбиения на страницы
- -r, --recursive
- выполнять рекурсивное сравнение над всеми найденными подкаталогами
- --no-dereference
- не разыменовывать символьные ссылки
- -N, --new-file
- воспринимать отсутствующие файлы как пустые
- --unidirectional-new-file
- воспринимать отсутствующие первые файлы как пустые
- --ignore-file-name-case
- игнорировать регистр при сравнении имён файлов
- --no-ignore-file-name-case
- учитывать регистр при сравнении имён файлов
- -x, --exclude=ШАБЛОН
- пропускать файлы, имена которых совпадают с ШАБЛОНом
- -X, --exclude-from=FILE
- пропускать файлы, имена которых совпадают с шаблонами в указанном ФАЙЛе
- -S, --starting-file=ФАЙЛ
- начать с ФАЙЛа при сравнении каталогов
- --from-file=ФАЙЛ1
- сравнить ФАЙЛ1 со всеми операндами; ФАЙЛ1 может быть каталогом
- --to-file=ФАЙЛ2
- сравнить все операнды с ФАЙЛОМ2; ФАЙЛ2 может быть каталогом
- -i, --ignore-case
- игнорировать различия в регистре при сравнении содержимого файлов
- -E, --ignore-tab-expansion
- игнорировать изменения, связанные с преобразованием знаков табуляции в пробелы
- -Z, --ignore-trailing-space
- игнорировать пробельные символы в конце строк
- -b, --ignore-space-change
- игнорировать изменения в количестве пробельных символов
- -w, --ignore-all-space
- игнорировать все пробельные символы
- -B, --ignore-blank-lines
- игнорировать изменения, если они были вызваны пустыми строками
- -I, --ignore-matching-lines=РЕГУЛЯРНОЕ_ВЫРАЖЕНИЕ
- игнорировать изменения, все строки в которых соответствуют РЕГУЛЯРНОМУ_ВЫРАЖЕНИЮ
- -a, --text
- обрабатывать все файлы как текстовые
- --strip-trailing-cr
- удалять из входных данных завершающие символы возврата каретки
- -D, --ifdef=ИМЯ
- вывести объединённый файл, используя «#ifdef ИМЯ» для оформления различий
- --ГТИП-group-format=ГФОРМАТ
- форматировать группы входных строк типа ГТИП, используя ГФОРМАТ
- --line-format=СФОРМАТ
- форматировать все входные строки, используя СФОРМАТ
- --СТИП-line-format=СФОРМАТ
- форматировать входные строки типа СТИП, используя СФОРМАТ
- Данные параметры форматирования обеспечивают детальный контроль над данными, выводимыми
- diff, выступая в качестве обобщённого варианта параметра -D/--ifdef.
- СТИП может принимать значения «old» (старые), «new» (новые) или «unchanged» (неизменённые).
- ГТИП может принимать те же значения, что и СТИП, а также «changed» (изменённые).
- (Только) ГФОРМАТ может содержать:
- %<
- строки из ФАЙЛА1
- %>
- строки из ФАЙЛА2
- %=
- строки, совпадающие в ФАЙЛЕ1 и ФАЙЛЕ2
- %[-][ШИРИНА][.[ТОЧН]]{doxX}БУКВА
- printf-подобный формат числа, задаваемого БУКВОЙ
- БУКВЫ употребляются в следующем виде для новых групп и в нижнем регистре для старых:
- F
- номер первой строки
- L
- номер последней строки
- N
- количество строк = L-F+1
- E
- F-1
- M
- L+1
- %(A=B?T:E)
- если A равно B, то T, иначе E
- (Только) СФОРМАТ может содержать:
- %L
- содержимое строки
- %l
- содержимое строки за исключением завершающего её перевода на новую строку
- %[-][ШИРИНА][.[ТОЧН]]{doxX}n
- printf-подобный формат номера строки во входных данных
- И ГФОРМАТ, и СФОРМАТ могут содержать:
- %%
- %
- %c'С'
- одиночный символ С
- %c'\ВВВ'
- символ с восьмеричным кодом ВВВ
- С
- символ С (остальные символы воспринимаются буквально)
- -d, --minimal
- пытаться обнаружить меньший набор изменений
- --horizon-lines=ЧИСЛО
- оставлять ЧИСЛО строк в совпадающих префиксе и суффиксе
- --speed-large-files
- при сравнении ожидать большие файлы и множество разрозненных небольших изменений
- --color[=КОГДА]
- выделять выходные данные цветом; КОГДА может принимать значения «never» (никогда), «always» (всегда) или «auto» (автоматически); простое указание --color подразумевает --color='auto'
- --palette=ПАЛИТРА
- задать цвета, используемые при активном параметре --color; ПАЛИТРА представляет собой список возможностей terminfo, разделённых двоеточием
- --help
- отобразить эту справочную информацию и завершить работу
- -v, --version
- вывести информацию о версии и завершить работу
Аргумент ФАЙЛЫ принимает вид «ФАЙЛ1 ФАЙЛ2», «КАТАЛОГ1 КАТАЛОГ2», «КАТАЛОГ ФАЙЛ» или «ФАЙЛ КАТАЛОГ». Если указан параметр --from-file или --to-file, то ограничений на ФАЙЛы не накладывается. Если ФАЙЛ задан как «-», читать из стандартного потока ввода. Код завершения равен 0, если входные данные совпадают, 1, если они различаются, и 2, если произошла ошибка.
АВТОРЫ
Программа написана Полом Эггертом (Paul Eggert), Майком Хэртелом (Mike Haertel), Дэвидом Хейзом (David Hayes), Ричардом Столлманом (Richard Stallman) и Леном Тауэром (Len Tower).
ИНФОРМАЦИЯ ОБ ОШИБКАХ
Сообщайте
об ошибках
по адресу
bug-diffutils@gnu.org
Домашняя
страница GNU
diffutils: https://www.gnu.org/software/diffutils/
Общая
помощь по
использованию
программного
обеспечения
GNU: https://www.gnu.org/software/gethelp.ru.html
АВТОРСКИЕ ПРАВА
Copyright © 2023 Free Software Foundation, Inc.
Лицензия GPLv3+: GNU
GPL версии 3
или выше
https://gnu.org/licenses/gpl.ru.html.
Это
свободное
программное
обеспечение:
вы можете
изменять и
распространять
его. Не
предоставляется
НИКАКИХ
ГАРАНТИЙ в
той мере, в
которой
это
разрешено
законом.
СМОТРИТЕ ТАКЖЕ
wdiff(1), cmp(1), diff3(1), sdiff(1), patch(1)
Полная документация для diff ведётся в форме руководства Texinfo. Если программы info и diff корректно установлены в вашей системе, команда
- info diff
должна предоставить вам доступ к полному руководству.
ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Андрей Догадкин <adogadkin@outlook.com>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
май 2023 г. | diffutils 3.10 |