Об'єднання файлів стає простішим: використання команди diff3 у Linux

watch 27s
views 2

10:50, 09.04.2026

Зміст статті
arrow

  • Ознайомлення з командою diff3
  • Огляд синтаксису diff3
  • Часто вживані опції
  • Як визначити відмінності файлів у Linux
  • Об'єднання файлів за допомогою diff3 у Linux
  • Інтеграція змін з декількох файлів за допомогою diff3
  • Обробка конфліктів під час злиття diff3
  • Підсумки

Об'єднання файлів може стати набагато простішим за допомогою таких корисних інструментів, як команда diff3. Системні адміністратори і програмісти, які постійно працюють з декількома версіями файлу і хочуть прискорити цей процес, можуть використовувати diff3. Ця команда необхідна для визначення відмінностей у різних версіях одного і того ж файлу.

Завдяки нашим практичним знанням, ми вирішили пояснити, як працюють основи diff3, і поділитися деякими корисними прикладами, щоб ви могли чітко розібратися в цьому інструменті і його використанні в системі Linux.

Ознайомлення з командою diff3

Команда diff3 порівнює файли, визначає відмінності між ними і виводить цю інформацію у досить простій для розуміння користувачем формі.

Основні випадки використання цього інструменту наступні:

  • Злиття з різних файлів може бути виконано автоматично.
  • Можна легко знайти відмінності між файлами.
  • Вирішення конфліктів, що виникають під час злиття різних версій.

 Існують також команди diff і sdiff, які можна використовувати для злиття версій, але особливістю diff3 є те, що ви можете працювати з 3 різними версіями і легко об'єднати їх в один конкретний файл.

Огляд синтаксису diff3

Ось як виглядає стандартне використання команди:

diff3 [options] f1 f2 f3

У цьому рядку f1 вказує на початкову версію файлу, f2 - на 2-гу версію, а f3 - на 3-тю.

Часто вживані опції

Нижче наведено список найпоширеніших опцій для цієї команди, деякі з них наведено нижче:

  • -m: об'єднання файлів відбувається автоматично.
  • -e: ця опція потрібна для створення редагованого скрипта, необхідного для застосування змін.
  • -3: показує лише відмінності між 3 файлами.
  • -A: додати всі доступні зміни з 3 файлів.
  • -E: об'єднання файлів, навіть якщо існує певний конфлікт.  

Як визначити відмінності файлів у Linux

Якщо у вас є 3 версії одного і того ж файлу і дані в них дещо відрізняються, ви можете легко порівняти ці версії. Після цього ви отримаєте висновок з інформацією про кожен рядок у кожній версії, якщо десь буде додано новий рядок, ви побачите цю інформацію, або якщо певний рядок буде змінено в одній з цих версій, ви також отримаєте ці дані.

Для порівняння цих файлів скористайтеся наступною командою:

 diff3 f1.txt f2.txt f3.txt

Після використання цієї команди ви отримаєте висновок з деякими змінами, які були зроблені у всіх 3 версіях. Зазвичай, дані будуть показані для кожної версії з такими цифрами:

  • 1:2c: означає, що перша версія має зміни у 2-му рядку, і ви також побачите вміст цього рядка.
  • 2:3c: означає, що друга версія файлу має зміни в 3-му рядку, і ви побачите саме цей рядок.
  • 3:2,3c: означає, що версія 3 має зміни в рядках 2 і 3.

Об'єднання файлів за допомогою diff3 у Linux

Щоб об'єднати всі ці 3 версії в одному файлі, ви можете скористатися опцією -m. Це означає, що буде створено новий файл з усіма змінами.

diff3 -m f1.txt f2.txt f3.txt

Результат виконання цієї команди покаже, де в рядках є конфлікти. Наприклад, якщо всі 3 версії мають зміни в одному рядку, ви можете вручну відредагувати і зберегти інформацію, яка дійсно потрібна.  

Інтеграція змін з декількох файлів за допомогою diff3

Щоб інтегрувати зміни з усіх версій і створити редагований скрипт, вам потрібно використовувати опцію -e наступним чином:

diff3 -e f1.txt f2.txt f3.txt > scriptfile

За допомогою цього рядка ви створите файл scriptfile, що містить скрипт ed, який можна використовувати наступним чином:

ed f1.txt < scriptfile

Це змінить першу версію файлу відповідно до змін, зроблених у файлі scriptfile, і ви можете перевірити, чи були зроблені зміни, за допомогою наступної команди:

cat f1.txt

Це покаже, які рядки є у версії f1, що значно спростить автоматичне злиття файлів.

Обробка конфліктів під час злиття diff3

Конфлікт під час злиття виникає, коли існує різниця в одному і тому ж розташуванні файлу. Такі конфлікти відображаються у виводі, тому ви можете перевірити, де вони виникли, і виправити все самостійно. Нижче наведено покрокову інструкцію, яку слід виконати для усунення конфлікту:

  • Відкрийте файл, в якому виник конфлікт.
  • Змініть файл потрібним чином, ви можете редагувати/видаляти рядки.
  • Не забудьте зберегти файл.

Підсумки

diff3 - це чудовий метод, за допомогою якого ви можете працювати з різними версіями одного і того ж файлу. Ви можете легко виявити відмінності між версіями, а в разі необхідності, ви також можете об'єднати всі 3 версії. 

Поділитися

Чи була ця стаття корисною для вас?

Популярні пропозиції VPS

розпродаж

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
2 GB
Space
Space
75 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 2048 HK Windows

26

При оплаті за рік

розпродаж

-20%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
Unlimited
KVM-HDD 2048 Linux

7.7

При оплаті за місяць

розпродаж

-21%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
8 TB
wKVM-SSD 8192 Metered Windows

65

При оплаті за рік

розпродаж

-20%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
400 GB HDD
Bandwidth
Bandwidth
Unlimited
wKVM-HDD 16384 Windows

56

При оплаті за місяць

розпродаж

-20%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
MT5 KVM 8192 Windows

29.99

При оплаті за місяць

розпродаж

-20%

CPU
CPU
6 Epyc Cores
RAM
RAM
16 GB
Space
Space
150 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 16384 Linux

50.49

При оплаті за місяць

розпродаж

-20%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
400 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 16384 Linux

40.02

При оплаті за 6 місяців

розпродаж

-20.4%

CPU
CPU
2 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
300 GB
KVM-SSD 2048 HK Linux

18

При оплаті за рік

розпродаж

-20%

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 8192 Windows

28.99

При оплаті за місяць

розпродаж

-20%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
40 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 1024 Windows

10.27

При оплаті за 6 місяців

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

Ми використовуємо файли cookie, щоб забезпечити вам найкращий досвід роботи на нашому сайті. Якщо ви продовжуєте користуватися сайтом, не змінюючи налаштувань, вважайте, що ви згодні на отримання всіх файлів cookie на сайті HostZealot.