diff — утиліта UNIX, використовується для показу списку різниць між двома файлами. Для текстових файлів різниця показується рядок за рядком у будь-якому з декількох форматів, зазначених в параметрах командного рядка. Цей список виводиться в термінах рядків тексту, тобто, показуючи які рядки потрібно вставити, видалити або замінити, щоб перетворити перший файл на другий. Для бінарних файлів diff повідомляє лише про факт різниці. Для однакових файлів diff не виводить нічого.
Стандартний формат виводу інформації
Нормальний формат виводу команди виглядає так:
Команда зміни файлу \< from-file-line \< from-file-line ... --- \> to-file-line \> to-file-line ...
Всього є три типи команд зміни файлу. Кожна складається з номера рядка, або з діапазону рядків, розділених комою, першого файлу, однієї літери (a, c,d) для ідентифікації команди зміни, та номера рядка, або діапазону рядків, розділених комою, з другого файлу. Кожен номер рядка, є номером рядка файлу, з якого він був узятий. Типи команд це:
'lar' — Додати рядки в діапазоні r другого файлу після номера рядка l першого файлу. Як приклад, «4a11,17» означає, додати рядки 11-17 з другого файлу після 4 рядка першого файлу; або, якщо приводити файл 2 до файлу 1, тоді видалити з файлу 2 рядки 11-17.
'fct' — Замінити рядки в діапазоні f першого файлу, рядками з діапазону t другого файлу. Як приклад, «3,6c9,12» означає, замінити рядки 3-6 першого файлу рядками 9-12 з другого файлу; або, якщо приводити файл 2 до файлу 1, тоді замінити рядки 9-12 другого файлу рядками 3-6 з першого файлу.
'rdl' — Видалити рядки з діапазону r для першого файлу. l вказує на місце вставки рядків r з першого файлу в другий для оберненої логіки. Як приклад, «4,6d2» означає видалити рядки 4-6 з першого файлу; або, якщо приводити файл 2 до файлу 1, вставити рядки 4-6 першого файлу в другий після рядка 2.
Приклади застосування
- Стандартне порівняння двох файлів
diff file1 file2
- Отримання команд для редактора ed
diff -e file1 file2
- Ігнорування верхнього і нижнього регістру символів
diff -i file1 file2
- Ігнорування пустих місць (пробілів, табуляцій, порожніх рядків …)
diff -w file1 file2
- Вивід тільки факту різниці файлів
diff -q file1 file2
- Рекурсивне порівняння файлів у підкаталогах
diff -r dir1 dir2
Див. також
Посилання
- — Сторінки довідника Linux (укр.)
- diff man [ 11 лютого 2010 у Wayback Machine.] з Commands & Utilities Reference, The Single UNIX® Specification, Issue 7 from The Open Group
- File comparison [ 24 листопада 2011 у Wayback Machine.] на Open Directory Project
- GNU Diff utilities [ 11 червня 2007 у Wayback Machine.]. Made available by the Free Software Foundation. Free Documentation. Free source code.
- JavaScript Implementation [ 10 вересня 2011 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
diff utilita UNIX vikoristovuyetsya dlya pokazu spisku riznic mizh dvoma fajlami Dlya tekstovih fajliv riznicya pokazuyetsya ryadok za ryadkom u bud yakomu z dekilkoh formativ zaznachenih v parametrah komandnogo ryadka Cej spisok vivoditsya v terminah ryadkiv tekstu tobto pokazuyuchi yaki ryadki potribno vstaviti vidaliti abo zaminiti shob peretvoriti pershij fajl na drugij Dlya binarnih fajliv diff povidomlyaye lishe pro fakt riznici Dlya odnakovih fajliv diff ne vivodit nichogo Standartnij format vivodu informaciyiNormalnij format vivodu komandi viglyadaye tak Komanda zmini fajlu lt from file line lt from file line gt to file line gt to file line Vsogo ye tri tipi komand zmini fajlu Kozhna skladayetsya z nomera ryadka abo z diapazonu ryadkiv rozdilenih komoyu pershogo fajlu odniyeyi literi a c d dlya identifikaciyi komandi zmini ta nomera ryadka abo diapazonu ryadkiv rozdilenih komoyu z drugogo fajlu Kozhen nomer ryadka ye nomerom ryadka fajlu z yakogo vin buv uzyatij Tipi komand ce lar Dodati ryadki v diapazoni r drugogo fajlu pislya nomera ryadka l pershogo fajlu Yak priklad 4a11 17 oznachaye dodati ryadki 11 17 z drugogo fajlu pislya 4 ryadka pershogo fajlu abo yaksho privoditi fajl 2 do fajlu 1 todi vidaliti z fajlu 2 ryadki 11 17 fct Zaminiti ryadki v diapazoni f pershogo fajlu ryadkami z diapazonu t drugogo fajlu Yak priklad 3 6c9 12 oznachaye zaminiti ryadki 3 6 pershogo fajlu ryadkami 9 12 z drugogo fajlu abo yaksho privoditi fajl 2 do fajlu 1 todi zaminiti ryadki 9 12 drugogo fajlu ryadkami 3 6 z pershogo fajlu rdl Vidaliti ryadki z diapazonu r dlya pershogo fajlu l vkazuye na misce vstavki ryadkiv r z pershogo fajlu v drugij dlya obernenoyi logiki Yak priklad 4 6d2 oznachaye vidaliti ryadki 4 6 z pershogo fajlu abo yaksho privoditi fajl 2 do fajlu 1 vstaviti ryadki 4 6 pershogo fajlu v drugij pislya ryadka 2 Prikladi zastosuvannyaStandartne porivnyannya dvoh fajliv diff file1 file2 Otrimannya komand dlya redaktora ed diff e file1 file2 Ignoruvannya verhnogo i nizhnogo registru simvoliv diff i file1 file2 Ignoruvannya pustih misc probiliv tabulyacij porozhnih ryadkiv diff w file1 file2 Vivid tilki faktu riznici fajliv diff q file1 file2 Rekursivne porivnyannya fajliv u pidkatalogah diff r dir1 dir2Div takozhWinMerge vilna programa porivnyuvannya fajliv dlya WindowsPosilannya Storinki dovidnika Linux ukr diff man 11 lyutogo 2010 u Wayback Machine z Commands amp Utilities Reference The Single UNIX Specification Issue 7 from The Open Group File comparison 24 listopada 2011 u Wayback Machine na Open Directory Project GNU Diff utilities 11 chervnya 2007 u Wayback Machine Made available by the Free Software Foundation Free Documentation Free source code JavaScript Implementation 10 veresnya 2011 u Wayback Machine