diff

diff(1)                         2007-10-27-16:31                         diff(1)



 НАЗВА
       diff - знайти відмінності між двома файлами


 ЗВІД
       diff [опції] файл-з файл-до


 ОПИС
       У найпростішому випадку,  diff порівнює вміст двох файлів: файл-з та
       файл-до . Ім'я файлу - (дефіс) означає текст, прочитаний зі звичного
       вводу.  У особливому разі, diff - - порівнює копію звичного вводу з ним
       же.  Якщо  файл-з є текою, а файл-до ні, diff бере для порівняння файл у
       теці файл-з з назвою файл-до , і навпаки.  Файл, що не є текою не повинен
       бути - .  Якщо і файл-з , і файл-до є теками, diff порівнює відповідні
       файли в обох теках, у  алфавітному порядку; це порівняння не рекурсивне,
       поки не вказано опцію -r чи --recursive . diff ніколи не порівнює дійсний
       вміст теки, так ніби вона є файлом.  Явно описаний файл не може бути
       звичним вводом, тому що звичний ввід безіменний, і поняття "файл з тим же
       ім'ям" не застосовне.  Ключі diff починаються з - , тож звично назви
       файл-з та файл-до не можуть починатись з - . проте, арґумент -- вказує
       вважати решту арґументів назвами файлів, навіть якщо вони починаються з -
       .


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


   - кількість_рядків
       Показати кількість_рядків (ціле число) рядків контексту. Ця опція сама не
       вказує формат виводу; Вона не діє без -c чи -u . Ця опція застаріла.  Для
       вірної дії patch звично потрібно хоча б два рядки контексту.


   -a
       Вважати всі файли текстовими й обробляти їх рядок за рядком, навіть якщо
       вони не схожі на текстові.


   -b
       Іґнорувати зміни в кількості пробілів.


   -B
       Іґнорувати зміни, що лише вставляють чи додають пусті рядки.


   --brief
       Повідомити лише чи відрізняються файли, а не подробиці відмінностей.


   -c
       Вживати контекстний формат виводу.


   -C  кількість_рядків
       "--context[=" кількість_рядків "]"


       Вживати контекстний формат виводу, показуючи кількість_рядків (ціле
       число) рядків контексту, або три, якщо  кількість_рядків не вказано. Для
       вірної дії, patch звичайно потребує хоча б два рядки контексту.


   --changed-group-format= формат
       Вживати формат для виводу групи рядків, що містять відмінні рядки обох
       файлів у форматі if-then-else (якщо-то-інакше).


   -d
       Змінити алґоритм для можливого знаходження меншого набору змін.  Це
       сповільнює diff (іноді значно).


   -D  назва
       Робити об'єднаний вивід у форматі if-then-else (якщо-то-інакше), беручи
       умовою макрос  назва  допроцесора.


   -e
       "--ed"


       Зробити вивід, що є робочим скриптом для ed.


   --exclude= зразок
       При порівнянні тек, пропускати файли та підтеки, базова назва яких
       відповідає зразку .


   --exclude-from= файл
       При порівнянні тек, пропускати файли та підтеки, базова назва яких
       відповідає будь-якому зразку з  файлу .


   --expand-tabs
       Розгортати табуляцію у пробіли на виводі, для збереження вирівнювання
       відступів у вхідних файлах.


   -f
       Зробити вивід, що схожий на скрипт ed , але має зміни у порядку, в якому
       вони з'являються у файлі.


   -F  реґулярний_вираз
       В контекстному та об'єднаному форматі, для кожного набору відмінностей,
       показати кілька попередніх рядків, що відповідають арґументу
       реґулярний_вираз .


   --forward-ed
       Зробити вивід, що схожий на скрипт ed , але має зміни у порядку, в якому
       вони з'являються у файлі.


   -h
       Ця опція тепер не має жодного впливу; вона присутня для сумісності з
       Unix.


   -H
       Вживати евристику для прискорення обробки великих файлів з багатьма
       розсіяними малими відмінностями.


   --horizon-lines= кількість_рядків
       Не викидати останні  кількість_рядків рядків спільного префіксу і перші
       кількість_рядків рядків спільного суфіксу.


   -i
       Іґнорувати зміни реґістру; Вважати великі та малі букви тотожними.


   -I  реґулярний_вираз
       Іґнорувати зміни, що лише додають чи видаляють рядки, узгоджені з
       арґументом реґулярний_вираз .


   --ifdef= назва
       Робити об'єднаний вивід у форматі if-then-else (якщо-то-інакше), беручи
       умовою макрос  назва  допроцесора.


   --ignore-all-space
       Іґнорувати пропуски при порівнянні рядків.


   --ignore-blank-lines
       Іґнорувати зміни, що лише вставляють чи додають пусті рядки.


   --ignore-case
       Іґнорувати зміни реґістру; Вважати великі та малі букви тотожними.


   --ignore-matching-lines= реґулярний_вираз
       Іґнорувати зміни, що лиш додають чи видаляють рядки узгоджені з
       арґументом реґулярний_вираз .


   --ignore-space-change
       Іґнорувати зміни в кількості пробілів. .


   --initial-tab
       Виводити табуляцію замість пробілу перед текстом у рядку в нормальному та
       контекстному форматах. Таким чином, вирівнювання табуляцій у рядку
       виглядає нормально.


   -l
       Пропустити вивід через pr для розділу на сторінки.


   -L  мітка
       "--label=" мітка


       Вживати мітку замість назви файлу у заголовках контекстного та  та
       об'єднаного формату.


   --left-column
       Друк лише лівого стовпця з двох спільних рядків при форматі в дві
       колонки.


   --line-format=
       Вживати формат для виводу всіх вхідних рядків у форматі if-then-else
       (якщо-то-інакше).


   --minimal
       Змінити алґоритм для можливого знаходження меншого набору змін.  Це
       сповільнює diff (іноді значно).


   -n
       Вивід відмінностей у RCS форматі; Подібне до -f крім того, що кожна
       команда вказує кількість змінених рядків.


   -N
       "--new-file"


       При порівнянні тек, якщо файл знайдено в лише в одній з них, уважати, що
       він існує, але пустий, у іншій теці.


   --new-group-format= формат
       Вживати формат для виводу груп рядків лише з другого файлу у форматі
       if-then-else (якщо-то-інакше).


   --new-line-format= формат
       Вживати формат для виводу рядка лише з другого файлу у форматі
       if-then-else (якщо-то-інакше).


   --old-group-format= формат
       Вживати формат для виводу груп рядків лише з першого файлу у форматі
       if-then-else (якщо-то-інакше).


   --old-line-format= формат
       Вживати формат для виводу рядка лише з першого файлу у форматі
       if-then-else (якщо-то-інакше).


   -p
       Показати, якій функції мови C належить кожна зміна.


   -P
       При порівнянні тек, якщо файл існує лише у другій з двох тек, уважати, що
       він існує, але пустий у першій.


   --paginate
       Пропустити вивід через pr для розбиття на сторінки.


   -q
       Лише повідомити чи файли різні, а не подробиці  відмінностей.


   -r
       При порівнянні тек, рекурсивно порівнювати будь-які виявлені  підтеки.


   --rcs
       Вивести відмінності у RCS-форматі; Подібне до -f , але кожна команда
       вказує кількість змінених рядків.


   --recursive
       При порівнянні тек, рекурсивно порівнювати будь-які виявлені  підтеки.


   --report-identical-files
       "-s"


       Повідомити, коли два файли однакові.


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


   --from-file= файл
       Порівнювати файл з усіма операндами. файл може бути текою.


   --to-file= файл
       Порівняти всі операнди з файлом .  файл може бути текою.


   --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= формат
       Вживати формат для виводу групи спільних рядків узятих з обох файлів  у
       форматі if-then-else (якщо-то-інакше).


   --unchanged-line-format= формат
       Вживати формат для виводу рядків спільних для обох файлів у  форматі
       if-then-else (якщо-то-інакше).


   --unidirectional-new-file
       При порівнянні тек, якщо файл існує лише у другій з двох тек, уважати, що
       він існує, але пустий у іншій.


   -U  кількість_рядків
       "--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 означає помилку.




© 2005-2007 DLOU, GNU FDL       2007-10-27-16:31                         diff(1)