How to Compare Two Text Files Using Linux

Dizze guod sil jo sjen hoe't jo Linux brûke om twa bestannen te fergelykje en har ferskil oan it skerm of in triem út te jaan.

Jo moatte gjin spesjale software ynstalleare om te bestjoeren fan bestannen mei Linux, mar jo moatte witte hoe't jo in terminalfinster iepenje moatte.

As de keppele gids sjen litte binne der in protte manieren om in terminalfinster te brûken mei Linux. De ienfâldige is om tagelyk de CTRL, ALT en T toetsen te drukken.

It meitsjen fan de triemmen te fergelykjen

Om tegearre mei dizze handige folgje te meitsjen meitsje in triem mei de namme "file1" en folje de folgjende tekst yn:

10 griene fleskes stean oan in muorre

10 griene fleskes stean oan in muorre

As ien griene flesse soe ûntslach falle

Der soe 9 griene fleskes stean oan 'e muorre

Jo kinne in bestân meitsje troch dizze ynstruksjes te folgjen:

  1. Iepenje it bestân troch te typen it folgjende kommando: nano file1
  2. Typ de tekst yn ' e nano-editor
  3. Druk CTRL en O om it bestân te bewarjen
  4. Druk CTRL en X om de bestân út te gean

Nim in oare triem oan mei de namme "file2" en folje de folgjende tekst yn:

10 griene fleskes stean oan in muorre

As 1 griene flesse soe ûntslach falle

Der soe 9 griene fleskes stean oan 'e muorre

Jo kinne in bestân meitsje troch dizze ynstruksjes te folgjen:

  1. Iepenje it bestân troch te typen it folgjende kommando: nano file2
  2. Typ de tekst yn ' e nano-editor
  3. Druk CTRL en O om it bestân te bewarjen
  4. Druk CTRL en X om de bestân út te gean

Hoe te fergelykjen twa triemmen mei Linux

It kommando dat brûkt wurdt yn Linux om de ferskillen tusken 2 triemmen te sjen, wurdt it diff kommando neamd.

De ienfâldige foarm fan it diff kommando is as folgjend:

diff file1 file2

As de triemen deselde binne, dan sil der gjin útfier wêze as jo dit kommando brûke, lykwols binne ferskillen dy't jo produkt sjogge nei de folgjende siden:

2,4c2,3

<10 griene fleskes stean oan 'e muorre

...

> As 1 griene flesse soe ûntslach falle

> Der wiene 9 griene fleskes op 'e muorre

Yn it earstoan kin de útfier miskien ferwiderje, mar as jo de terminology begripe, is it aardich logysk.

Mei jo eigen eagen kinne jo sjen dat de ferskillen tusken de 2 bestannen binne sa:

De útfier fan it diff-kommando lit sjen dat tusken linen 2 en 4 fan de earste bestân en linen 2 en 3 fan 'e twadde bestân ferskillen binne.

Dêrnei listet de linen fan 2 oant 4 fan 'e earste bestân, folge troch de 2 ferskillende rigels yn' e twadde bestân.

Hoe kinne gewoan sjen as de bestannen ferskillend binne

As jo ​​gewoan wolle witte as de bestannen ferskillende binne en jo net ynteressearje yn hokker linen jo oars binne kinne jo it folgjende kommando útfiere:

diff -q file1 file2

As de bestannen ferskillende binne sil de folgjende werjeften werjûn wurde:

Files file1 and file2 ferskille

As de triemen deselde binne, dan wurdt niets werjûn.

As jo ​​in berjocht sjen litte as de triemmen de identiteit binne

As jo ​​in kommando útfiere wolle jo witte dat it goed wurke hat, dus wolle jo in berjocht sjen as jo it diff-kommando ûngedien meitsje as de triemen deselde of oars binne

Om dizze fereaske te heljen mei it diff kommando, kinne jo it folgjende kommando brûke:

diff -s file1 file2

As de triemen deselde binne, krije jo it folgjende berjocht:

Files file1 and file2 binne identyk

Hoe te meitsjen fan de ferskillen Side by Side

As der in protte ferskillen binne, dan kin it fluch faaks ferlykjend wurde as wat de ferskillen tusken de twa bestannen binne.

Jo kinne de útfier fan it diff-kommando feroarje, sadat de resultaten njonken side te sjen binne. Om dit te dwaan moatte jo it folgjende kommando útfiere:

diff -y file1 file2

De útfier foar it bestân brûkt de | symboal om in ferskil tusken de twa rigels sjen te litten, in in liny sjen te litten dy't oanbean is.

Tink derom as jo it kommando brûke mei help fan ús demonstraasje-bestannen dan sille alle lineen as ferskillende ferskillen sjen litte as útsûndering foar de lêste line fan triem 2 dy sil sjen litte as der wiske is.

It kolombreedte beheine

By it fergelykjen fan twa triemmen oan side oan kant kin it lestich wêze om te lêzen as de bestannen in soad kolommen fan tekst hawwe.

Om in tal kolommen te beheinen brûke jo it folgjende kommando:

diff --width = 5 bestân file2

Hjir kinne jo beskiede fan triemmen as jo fergelykje triemen

As jo ​​twa bestannen fergelykje mar jo dogge net oft de saak fan de letters itselde is tusken de twa bestannen, dan kinne jo it folgjende kommando brûke:

diff -i file1 file2

Hoe't wy nei de wei fan in rigel oerbliuwende wytromte negearje

As jo ​​de fergelykingen fan de bestannen fergelike litte fan ferskillen en de ferskillen wurde feroarsake troch wite romte oan 'e ein fan' e linen, dan kinne jo dizze as wegere as wizigingen troch it folgjende kommando útfiere:

diff -Z file1 file2

Wolle jo alle wite flachdielingen tusken twa triemmen negearje

As jo ​​allinich ynteressearre binne yn 'e tekst yn in bestân en jo dogge net soarch oft der mear spaasjes yn ien binne as de oare kinne jo it folgjende kommando brûke:

diff -w file1 file2

Blêdwizers negearje As jo ​​twa triem fergelykje

As jo ​​der net soarchje dat ien bestân ekstra lege linen hawwe kin, dan kinne jo de bestannen fergelykje mei it folgjende kommando:

diff-file1 file2

Gearfetting

Jo kinne mear ynformaasje fine troch it lêzen te lêzen foar it diff kommando.

man diff

It diff kommando kin brûkt wurde yn syn ienfâldige foarm om jo justjes de ferskillen tusken 2 triemmen sjen te litten, mar jo kinne it ek brûke om in difffeart te meitsjen as in diel fan in patchingstrategy lykas yn dit guod foar it Linux-patchbehearder sjen litten .

In oar kommando dat jo brûke kinne om triem te fergelykjen is it cmp-kommando lykas troch dizze gids te sjen . Dit fergelike triemmen byte troch byte.