Kako primerjati dve datoteki v Linuxu

How Compare Two Files Linux



Če želite primerjati dve datoteki in razvozlati razliko, se pokliče ukaz razl se uporablja. Ta priročnik je osredotočen na zagotavljanje uporabe razl ukaz z različnimi možnostmi, da dobite razliko med dvema datotekama.

Torej, kako deluje razl ukaz dejansko deluje? The razl ukaz primerja dve datoteki in prikaže seznam razlik med obema datotekama. Natančneje, daje seznam sprememb, ki jih je treba narediti v prvi datoteki, da se ujemajo z drugo datoteko. The razl ukaz uporabljajo tudi programerji, da dobijo razliko med dvema datotekama izvorne kode za razvoj popravkov.







Preden se poglobite v primere, upoštevajte, da je vrstni red datotek zelo pomemben. Zaradi razl ukaz poda izpis glede na vrstni red datotek.



Kako uporabiti ukaz diff v Linuxu za primerjavo datotek:

Sintaksa datoteke razl ukaz je omenjen spodaj:



$razl [opcije] [datoteka1] [datoteka 2]

Najprej ustvarite dve datoteki. Ustvarjam besedilne datoteke z imenom test_file_1.txt in test_file_2.txt . Te datoteke vsebujejo vsebino z rahlo razliko:





Zdaj uporabite naslednji ukaz, da dobite razliko:



$razltest_file_1.txt test_file_2.txt

Standardni izhod prikazuje vrstice, ki se ujemajo glede na vrstni red datotek, navedenih v ukazu. Torej, dekodirajmo izhod:

Primerjava datotek je označena in vsaka oznaka ima številko na obeh straneh. Oblika je naslednja:

[Številka vrstice datoteke 1] [Oznaka (a, c, d)] [Številka vrstice datoteke 2]

Obstajajo tri oznake:

  • do - Dodaj: Dodajte vsebino v prvo datoteko za sinhronizacijo z drugo datoteko.
  • c - Sprememba: Označuje, da je potrebna sprememba vsebine prve datoteke, da se ujema z drugo datoteko.
  • d - Izbriši: odstranite vsebino iz prve datoteke, da se ujema z drugo.

2d1 označuje brisanje vrstice 2 prve datoteke, da se ujema z drugo datoteko iz vrstice 1.

Podobno, 4c3 pomeni spremembo v četrti vrstici prve datoteke, da se ujema s številko 3 druge datoteke, saj se obe vrstici nekoliko razlikujeta.

Obstaja še ena metoda za ogled razlike, uporabite razl ukaz z -in možnost:

$razl -in -IN 60test_file_1.txt test_file_2.txt

V zgornjem izhodu je vsebina test_file_1.txt je prikazano na levi strani, medtem ko je vsebina text_file_2.txt je prikazano na desni strani. Razlika je označena s simboli:

  • | - V drugi datoteki je vrstica drugačna
  • > - Vrstica je dodatna v drugi datoteki
  • <— Line has been deleted from the second file

-W označuje širino med vsebino dveh datotek. Če se želite ločiti in si ogledati razliko, uporabite naslednje:

$razl -in -IN 60 --suppress-common-linestest_file_1.txt test_file_2.txt

Kako doseči izhod v eni vrstici z ukazom diff:

Če je označeno metodo težko dekodirati, obstaja preprostejši pristop. Uporabljati -q možnost z razl ukaz daje izpis v eni vrstici. No, brez dodatnih informacij:

$razl -qtest_file_1.txt test_file_2.txt

Če se datoteke razlikujejo, bo zgornji ukaz dal izhod. Če so datoteke enake, potem ne bo izhoda. Da bi to dokazal, ustvarjam kopijo test_file_1.txt z uporabo:

$cptest_file_1.txt test_file_3.txt

Ustvarila se bo nova datoteka z imenom test_file_3.txt ki vsebuje isto vsebino test_file_1.txt ima. Zdaj uporabite:

$razl -qtest_file_1.txt test_file_2.txt

Ker imata obe datoteki podobno vsebino, zato ne bo nobenega izhoda.

Kako preveriti razliko datotek v kontekstnem načinu z ukazom diff:

Za primerjavo v kontekstnem načinu uporabite -c možnost bo uporabljena z razl ukaz:

$razl -ctest_file_1.txt test_file_2.txt

Razčlenimo izhod.

Za ohranitev razlike je prva datoteka označena s *** skupaj z datumom in časom ustvarjanja, druga datoteka pa z -.

Naslednja vrstica označuje vrsto vrstic, upoštevanih med primerjavo. Za prvo datoteko je *** 1,6 **** za drugo datoteko pa je —1,5—- :

Razlika je označena s simboli:

  • +: Vrstica ni v prvi datoteki. Vstavite ga v prvo datoteko ali jo odstranite iz druge datoteke, da se ujema z obema datotekama.
  • -: Vrstica obstaja v prvi datoteki, v drugi datoteki pa ne. Poskusite ga vstaviti v drugo datoteko ali odstraniti iz prve, da se ujema z obema datotekama.
  • ! : Linijo je treba spremeniti, da se ujema.

Kako preveriti razliko datotek v enotnem načinu z ukazom diff:

Enotni način je precej podoben kontekstnemu načinu, vendar brez odvečnih informacij. Zastava, ki jo uporabljamo, je -u :

$razl -utest_file_1.txt test_file_2.txt

V izhodu je prva datoteka označena z -, druga pa s +++. Druga vrstica prikazuje število vrstic za primerjavo v obeh datotekah, nato vsebino, ki jo je treba izbrisati, dodati ali spremeniti s simboli z njimi. V obeh datotekah ne bo simbola s podobnimi vrsticami.

Kako prezreti občutljivost velikih in malih črk med uporabo ukaza diff:

Če želite datoteke primerjati, pri tem pa zanemariti občutljivost velikih in malih črk, uporabite datoteko -jaz zastava:

$razl -jaztest_file_1.txt test_file_2.txt

Za predstavitev sem naredil D od Deepin v prvi datoteki majhno:

Kot je razvidno iz prvega ukaza, je razlika označena; med uporabo -jaz ta razlika je odpravljena.

Nekaj ​​drugih uporabnih možnosti razl ukazi so navedeni spodaj:

Možnost Opis
-za Ta možnost obravnava vse datoteke kot besedilne datoteke
-B Ne upošteva sprememb, kjer so vse vrstice prazne
-IN Ta možnost prezre razširitev zavihkov
-JAZ Ne upošteva sprememb, pri katerih se ujemajo vse vrstice
-s Oddaja, če sta dve datoteki enaki
-v Ignorira ves prazen prostor
-Z Ne upošteva praznine na koncu vrstice

Kako uporabiti Vim Editor za primerjavo dveh datotek:

Druga metoda za primerjavo dveh datotek je uporaba vimdiff ukaz. Če želite to narediti, morate namestiti vim:

$sudoaptnamestite Sem prišel

Za primerjavo dveh datotek uporabite:

$vimdiff test_file_1.txt test_file_2.txt

Obe datoteki se bosta odprli drug ob drugem. Del, ki se ne ujema, bo označen:

Kako primerjati dve datoteki z uporabo colordiff:

Drug pristop je nekakšna razširitev razl ukaz. Primerjavo lahko naredite bolj prepoznavno, če ji dodate barve. Za namestitev uporabite:

$sudoaptnamestitecolordiff

Za primerjavo datotek uporabite:

$colordiff test_file_1.txt test_file_2.txt

Lahko zamenjate razl z colordiff da dobite standardni izhod razl ukaz v barvni obliki.

Zaključek:

Za primerjavo datotek v Linuxu in celo v macOS -u se uporabljeni pripomoček imenuje diff. Pripomoček diff primerja dve datoteki in poda informacije o razlikah med njima. Razvijalci za ustvarjanje datotek popravkov uporabljajo predvsem ukaz diff.

V tem priročniku smo temeljito razpravljali o razl ukaz in kako ga uporabiti za primerjavo dveh datotek z različnimi možnostmi. Naučili smo se tudi uporabljati colordiff da bodo razlike v datotekah bolj prepoznavne. Če pa se vam zdi, da je pripomoček, ki temelji na terminalu, težko uporabljati, obstaja tudi nekaj orodij, ki temeljijo na grafičnem vmesniku, na primer Kompare, DiffMerge, Meld-Diff Tool in Diffuse-GUI Giff Tool.