Hoe om twee tekslêers met Linux te vergelyk

Hierdie gids sal jou wys hoe om Linux te gebruik om twee lêers te vergelyk en hul verskil op die skerm of na 'n lêer uit te voer.

Jy hoef nie spesiale sagteware te installeer om lêers met behulp van Linux te vergelyk nie, maar jy moet weet hoe om 'n terminale venster oop te maak .

Soos die gekoppelde gids wys, is daar baie maniere om 'n terminale venster oop te maak met Linux. Die eenvoudigste is om die CTRL, ALT en T sleutels terselfdertyd te druk.

Die skep van die lêers om te vergelyk

Om saam met hierdie gids saam te gaan, maak 'n lêer genaamd "file1" en voer die volgende teks in:

10 groen bottels wat op 'n muur staan

10 groen bottels wat op 'n muur staan

As een groen bottel per ongeluk moet val

Daar sal 9 groen bottels op die muur staan

U kan 'n lêer skep deur hierdie instruksies te volg:

  1. Open die lêer deur die volgende opdrag te tik: nano file1
  2. Tik die teks in die nano-redakteur
  3. Druk Ctrl en O om die lêer te stoor
  4. Druk Ctrl en X om die lêer te verlaat

Maak nou 'n ander lêer genaamd "file2" en voer die volgende teks in:

10 groen bottels wat op 'n muur staan

As 1 groen bottel per ongeluk val

Daar sal 9 groen bottels op die muur staan

U kan 'n lêer skep deur hierdie instruksies te volg:

  1. Open die lêer deur die volgende opdrag te tik: nano file2
  2. Tik die teks in die nano-redakteur
  3. Druk Ctrl en O om die lêer te stoor
  4. Druk Ctrl en X om die lêer te verlaat

Hoe om twee lêers te vergelyk met Linux

Die opdrag wat in Linux gebruik word om die verskille tussen 2 lêers te wys, word die diff-opdrag genoem.

Die eenvoudigste vorm van die diff-opdrag is soos volg:

diff file1 file2

As die lêers dieselfde is, sal daar geen uitset wees wanneer u hierdie opdrag gebruik nie, aangesien daar verskille is, sal u uitsette soos die volgende sien:

2,4c2,3

<10 groen bottels wat op die muur staan

...

> As 1 groen bottel per ongeluk val

> Daar sal 9 groen bottels op die muur wees

Aanvanklik lyk die uitset verwarrend, maar sodra jy die terminologie verstaan, is dit redelik logies.

Deur jou eie oë te sien, kan jy sien dat die verskille tussen die 2 lêers soos volg is:

Die uitset van die diff-opdrag toon dat tussen die lyne 2 en 4 van die eerste lêer en lyne 2 en 3 van die tweede lêer daar verskille is.

Dit lys dan die lyne van 2 tot 4 vanaf die eerste lêer gevolg deur die 2 verskillende lyne in die tweede lêer.

Hoe om net te wys as die lêers verskillend is

As jy net wil weet of die lêers anders is en jy nie belangstel in watter lyne anders is nie, kan jy die volgende opdrag uitvoer:

diff -q file1 file2

As die lêers anders is, sal die volgende vertoon word:

Lêers lêer1 en lêer2 verskil

As die lêers dieselfde is, word niks vertoon nie.

Hoe om 'n boodskap te wys as die lêers dieselfde is

As jy 'n opdrag uitvoer, wil jy weet dat dit korrek gewerk het, dus jy wil hê dat 'n boodskap vertoon word wanneer jy die diff-bevel uitvoer, ongeag of die lêers dieselfde of verskillende is.

Om hierdie vereiste te bereik deur die diff-opdrag te gebruik, kan u die volgende opdrag gebruik :.

diff-s file1 file2

Nou as die lêers dieselfde is, sal u die volgende boodskap ontvang:

Lêers lêer1 en lêer2 is identies

Hoe om die verskille langs mekaar te vervaardig

As daar baie verskille is, kan dit baie vinnig verwarrend word oor wat die verskille eintlik tussen die twee lêers is.

U kan die uitvoer van die diff-opdrag verander sodat die resultate langs mekaar gewys word. Om dit te doen, voer die volgende opdrag uit:

diff -y file1 file2

Die uitset vir die lêer gebruik die | simbool om 'n verskil tussen die twee lyne te toon, 'n om 'n lyn wat aangeheg is te wys.

Interessant as u die bevel gebruik met behulp van ons demonstrasielêers, sal al die lyne anders vertoon, behalwe vir die laaste reël van lêer 2 wat gewys sal word.

Beperking van die kolom breedte

As jy twee lêers vergelyk, kan dit moeilik wees om te lees of die lêers baie kolomme teks het.

Om 'n aantal kolomme te beperk, gebruik die volgende opdrag:

diff - width = 5 file file2

Hoe om verskil in gevalle te vergelyk wanneer lêers vergelyk word

As jy twee lêers wil vergelyk, maar jy gee nie om of die geval van die letters dieselfde is tussen die twee lêers nie, dan kan jy die volgende opdrag gebruik:

diff -i file1 file2

Hoe om die wit spasie op die einde van 'n lyn te ignoreer

As jy die lêers vergelyk, sien jy baie verskille en die verskille word veroorsaak deur die wit spasie aan die einde van die lyne, sodat jy dit kan weglaat as veranderinge deur die volgende opdrag uit te voer:

diff -Z file1 file2

Hoe om al die wit ruimte verskille tussen twee lêers te ignoreer

As jy net belangstel in die teks in 'n lêer en jy gee nie om of daar meer spasies in een is nie, dan kan jy die volgende opdrag gebruik:

diff -w file1 file2

Hoe om leë lyne te ignoreer wanneer twee lêers vergelyk word

As jy nie omgee dat een lêer ekstra leë lyne daarin het nie, kan jy die lêers vergelyk met die volgende opdrag:

diff -B file1 file2

opsomming

U kan meer inligting vind deur die handleiding vir die diff-opdrag te lees.

man verskil

Die diff-opdrag kan in sy eenvoudigste vorm gebruik word om net die verskille tussen 2 lêers te wys, maar jy kan dit ook gebruik om ' n diff-lêer te skep as deel van 'n patching-strategie soos in hierdie gids aangedui op die Linux-patch-opdrag .

'N Ander opdrag wat u kan gebruik om lêers te vergelyk, is die cmp opdrag soos deur hierdie gids aangedui . Dit vergelyk lêers byte deur byte.