Како упоредити две датотеке у Линуксу

How Compare Two Files Linux



Ако желите да упоредите две датотеке и дешифрујете разлику, позива се наредба дифф се користи. Овај водич је фокусиран на пружање употребе дифф команда са различитим опцијама да бисте добили разлику између две датотеке.

Дакле, како се дифф команда заиста функционише? Тхе дифф команда упоређује две датотеке и приказује листу разлика између обе датотеке. Тачније, даје листу измена које је потребно извршити у првој датотеци како би се подударале са другом датотеком. Тхе дифф команду такође користе програмери како би добили разлику између две датотеке изворног кода за развој закрпа.







Пре него што уђете у примере, имајте на уму да је редослед датотека веома важан. Због дифф команда даје излаз на основу редоследа датотека.



Како користити дифф команду у Линуку за упоређивање датотека:

Синтакса датотеке дифф наредба је наведена испод:



$дифф [Опције] [филе1] [филе2]

Прво креирајте две датотеке. Правим текстуалне датотеке под именом тест_филе_1.ткт и тест_филе_2.ткт . Ове датотеке садрже садржај са малом разликом:





Сада користите следећу команду да бисте добили разлику:



$диффтест_филе_1.ткт тест_филе_2.ткт

Стандардни излаз приказује редове који се подударају према редоследу датотека наведених у команди. Дакле, декодирајмо излаз:

Поређење датотека је означено, а свака ознака има број са обе стране. Формат је следећи:

[Број реда датотеке 1] [Ознака (а, ц, д)] [Број реда датотеке 2]

Постоје три ознаке:

  • до - Додај: Додајте садржај у прву датотеку за синхронизацију са другом датотеком.
  • ц - Промена: Указује на то да је потребна измена у садржају прве датотеке да би одговарала другој датотеци.
  • д - Избриши: Уклоните садржај из прве датотеке да се подудара са другом.

2д1 означава брисање броја 2 прве датотеке како би се подударало са другом датотеком из реда 1.

Слично, 4ц3 значи променити четврти ред прве датотеке тако да се подудара са редом број 3 друге датотеке јер се оба реда мало разликују.

Постоји још један начин да видите разлику, користите дифф командујте са опција:

$дифф -ИН 60тест_филе_1.ткт тест_филе_2.ткт

У горњем излазу садржај тест_филе_1.ткт је приказан на левој страни, док је садржај у тект_филе_2.ткт се приказује са десне стране. Разлика је означена симболима:

  • | - Ред је другачији у другом фајлу
  • > - Линија је додатна у другој датотеци
  • <— Line has been deleted from the second file

-В означава ширину између садржаја две датотеке. Да бисте одвојено погледали и видели разлику, користите следеће:

$дифф -ИН 60 --потиснути-заједничке-линијетест_филе_1.ткт тест_филе_2.ткт

Како добити излаз у једном реду помоћу наредбе дифф:

Ако вам је тешко дешифрирати означену методу, постоји једноставнији приступ. Помоћу опцију са дифф наредба даје излаз у једном реду. Па, без икаквих додатних информација:

$дифф тест_филе_1.ткт тест_филе_2.ткт

Ако се датотеке разликују, горња команда ће дати излаз. Ако су датотеке идентичне, неће бити излаза. Да бих то демонстрирао, стварам копију тест_филе_1.ткт Користећи:

$цптест_филе_1.ткт тест_филе_3.ткт

Нова датотека ће бити креирана под именом тест_филе_3.ткт који садржи исти садржај који тест_филе_1.ткт има. Сада користите:

$дифф тест_филе_1.ткт тест_филе_2.ткт

С обзиром да обје датотеке имају сличан садржај, неће бити излаза.

Како проверити разлику датотека у контекстном режиму помоћу наредбе дифф:

Да бисте добили поређење у контекстном режиму, опција ће се користити са дифф команда:

$дифф тест_филе_1.ткт тест_филе_2.ткт

Хајде да сецирамо излаз.

Да би се одржала разлика, прва датотека је означена са *** заједно са датумом и временом креирања, док је друга датотека означена са -.

Следећи ред означава низ линија разматраних током поређења. За прву датотеку јесте *** 1,6 **** а за другу датотеку јесте —1,5—- :

Разлика је означена симболима:

  • +: Линија није присутна у првој датотеци. Уметните је у прву датотеку или је уклоните из друге датотеке да одговара обема датотекама.
  • -: Ред постоји у првој датотеци, али не и у другој датотеци. Покушајте да је уметнете у другу датотеку или да је уклоните из прве како би одговарала обе датотеке.
  • ! : Линији је потребно модификовати да би се подударала.

Како проверити разлику датотека у обједињеном режиму помоћу наредбе дифф:

Обједињени режим је прилично сличан контекстном режиму, али без сувишних информација. Застава коју користимо је :

$дифф тест_филе_1.ткт тест_филе_2.ткт

У излазу је прва датотека означена са -, а друга са +++. Други ред приказује број редова који се разматрају за поређење у обе датотеке, затим садржај који се брише, додаје или мења са симболима са њима. У обе датотеке неће бити симбола са сличним линијама.

Како занемарити осетљивост великих и малих слова док користите команду дифф:

Ако желите да упоредите датотеке занемарујући осетљивост великих и малих слова, користите застава:

$дифф тест_филе_1.ткт тест_филе_2.ткт

За демонстрацију сам направио Д. оф Дубоко у у првом фајлу мали:

Као што се види у првој команди, разлика је назначена; док користите та разлика је уклоњена.

Неке друге корисне опције дифф наредбе су наведене испод:

Опција Опис
-до Ова опција третира све датотеке као текстуалне датотеке
Занемарује измене где су све линије празне
Ова опција занемарује проширење картица
-Ја Занемарује промене у којима се све линије подударају
Даје излаз када су две датотеке идентичне
-ин Занемарује сав празан простор
Игнорише бели простор на крају линије

Како користити Вим Едитор за упоређивање две датотеке:

Други начин упоређивања две датотеке је коришћење вимдифф команда. Да бисте то урадили, морате имати инсталиран вим:

$судопогоданинсталирај Дошао сам

Сада, за поређење две датотеке, користите:

$вимдифф тест_филе_1.ткт тест_филе_2.ткт

Обе датотеке ће бити отворене једна до друге. Део који се не подудара биће означен:

Како упоредити две датотеке помоћу цолордифф -а:

Други приступ је нека врста проширења дифф команда. Поређење можете учинити препознатљивијим додавањем боја у њега. За инсталирање користите:

$судопогоданинсталирајцолордифф

Да бисте упоредили датотеке, користите:

$цолордифф тест_филе_1.ткт тест_филе_2.ткт

Можете заменити дифф са цолордифф да бисте добили стандардни излаз дифф команда у обојеном формату.

Закључак:

За поређење датотека у Линук -у, па чак и у мацОС -у, користи се услужни програм дифф. Помоћни програм дифф упоређује две датотеке и даје информације о разликама између две датотеке. Програмери првенствено користе наредбу дифф за креирање датотека закрпа.

У овом водичу смо детаљно разговарали о дифф наредбу и како је користити за упоређивање две датотеке са различитим опцијама. Такође смо научили како се користи цолордифф како би разлике у датотекама биле препознатљивије. Али ако вам је тешко користити помоћни програм заснован на терминалу, постоје и неки алати засновани на графичком интерфејсу, као што су Компаре, ДиффМерге, Мелд-Дифф Тоол и Диффусе-ГУИ Гифф Тоол.