Како да упоредите два текстуална фајла користећи Линук

Овај водич ће вам показати како користити Линук за упоређивање два фајла и изношење њихове разлике на екран или у датотеку.

Не морате инсталирати било који посебан софтвер како бисте упоређивали датотеке користећи Линук, али морате знати како отворити прозор терминала .

Како повезани водич показује да постоји много начина за отварање прозора терминала користећи Линук. Најједноставније је истовремено притиснути тастере ЦТРЛ, АЛТ и Т.

Креирање датотека за упоређивање

Да бисте пратили овај водич, креирајте датотеку под називом "филе1" и унесите следећи текст:

10 зелених бочица које стоје на зиду

10 зелених бочица које стоје на зиду

Ако једна зелена бочица случајно пада

На зиду би било 9 зелених боца

Можете да креирате датотеку следећим следећим упутствима:

  1. Отворите датотеку тако што ћете унети следећу наредбу: нано филе1
  2. Укуцајте текст у нано едитор
  3. Притисните ЦТРЛ и О да бисте сачували датотеку
  4. Притисните ЦТРЛ и Кс да изађете из датотеке

Сада креирајте другу датотеку под називом "филе2" и унесите следећи текст:

10 зелених бочица које стоје на зиду

Ако 1 зелена боца треба случајно пасти

На зиду би било 9 зелених боца

Можете да креирате датотеку следећим следећим упутствима:

  1. Отворите датотеку уписивањем следеће наредбе: нано филе2
  2. Укуцајте текст у нано едитор
  3. Притисните ЦТРЛ и О да бисте сачували датотеку
  4. Притисните ЦТРЛ и Кс да изађете из датотеке

Како успоредити два фајла користећи Линук

Команда која се користи у Линуку да би показала разлике између 2 датотека се назива команда дифф.

Најједноставнији облик дифф наредбе је следећи:

дифф филе1 филе2

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

2,4ц2,3

<10 зелене боце које стоје на зиду

<Ако једна зелена бочица случајно пада

<На зиду би стајало 9 зелених боца

...

> Ако 1 зелена бочица случајно пада

> На зиду би било 9 зелених боца

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

Употребом сопствених очију можете видети да су разлике између 2 фајлова следеће:

Излаз из наредбе дифф показује да између линија 2 и 4 прве датотеке и редова 2 и 3 друге датотеке постоје разлике.

Затим наводе линије од 2 до 4 из прве датотеке, а затим 2 различите линије у другој датотеци.

Како само показати да ли су фајлови различити

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

дифф -к филе1 филе2

Ако су датотеке различите, приказаће се следеће:

Датотеке филе1 и филе2 се разликују

Ако су датотеке исте онда се не приказује ништа.

Како приказати поруку Ако су датотеке исте

Када покренете команду, желите да знате да је исправно функционисала, тако да желите да се порука приказује када покренете команду дифф, без обзира да ли су датотеке исте или различите

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

дифф -с филе1 филе2

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

Датотеке филе1 и филе2 су идентичне

Како направити разлике једни поред других

Ако има много разлика онда може врло брзо постати збуњујуће у вези са разликама између два фајла.

Излаз команде дифф можете промијенити тако да се резултати приказују уз раме. Да бисте то урадили покрените следећу команду:

дифф -и филе1 филе2

Излаз за датотеку користи | симбол за приказ разлике између две линије, а <за приказ линије која је уклоњена и> за приказ линије која је додата.

Занимљиво је да ако покренете команду помоћу наших демонстрационих датотека, све линије ће се показати различите, осим последње линије датотеке 2 која ће бити приказана као избрисана.

Ограничавање ширина колона

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

Да бисте ограничили број ступаца користите следећу команду:

дифф --видтх = 5 датотека2

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

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

дифф -и филе1 филе2

Како да игноришемо додирни бели простор на крају линије

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

дифф -З филе1 филе2

Како да игноришемо све разлике у бијелој свеми између два фајла

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

дифф -в филе1 филе2

Како игнорисати празне линије приликом упоређивања два фајла

Ако вам није брига да једна датотека може имати више празних линија у њему онда можете упоређивати датотеке користећи сљедећу наредбу:

дифф -Б филе1 филе2

Резиме

Више информација можете пронаћи тако што ћете читати приручник за команду дифф.

ман дифф

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

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