Kako usporediti dvije tekstualne datoteke pomoću Linuxa

Ovaj vodič će vam pokazati kako koristiti Linux kako biste usporedili dvije datoteke i izlazili njihovu razliku na zaslon ili datoteku.

Ne morate instalirati poseban softver za usporedbu datoteka koristeći Linux, ali morate znati kako otvoriti prozor terminala .

Kao što je povezan vodič pokazuje, postoji mnogo načina za otvaranje prozora terminala pomoću Linuxa. Najjednostavnije je istodobno pritisnuti CTRL, ALT i T tipke.

Izrada datoteka za usporedbu

Da biste slijedili zajedno s ovim vodičem stvorite datoteku pod nazivom "file1" i unesite sljedeći tekst:

10 zelenih boca na zidu

10 zelenih boca na zidu

Ako jedna zelena bočica slučajno pada

Na zidu će stajati 9 zelene boce

Možete stvoriti datoteku slijedeći ove upute:

  1. Otvorite datoteku upisivanjem sljedeće naredbe: nano file1
  2. Upišite tekst u nano uređivač
  3. Pritisnite CTRL i O za spremanje datoteke
  4. Pritisnite CTRL i X za izlazak iz datoteke

Sada stvorite drugu datoteku pod nazivom "file2" i unesite sljedeći tekst:

10 zelenih boca na zidu

Ako 1 zelena bočica slučajno pada

Na zidu će stajati 9 zelenih bočica

Možete stvoriti datoteku slijedeći ove upute:

  1. Otvorite datoteku upisivanjem sljedeće naredbe: nano file2
  2. Upišite tekst u nano uređivač
  3. Pritisnite CTRL i O za spremanje datoteke
  4. Pritisnite CTRL i X za izlazak iz datoteke

Kako usporediti dvije datoteke pomoću Linuxa

Naredba koja se koristi unutar Linuxa za prikaz razlika između 2 datoteke naziva se naredbom diff.

Najjednostavniji oblik naredbe diff je sljedeći:

diff file1 file2

Ako su datoteke jednake, tada neće biti izlaza pri korištenju ove naredbe, međutim, budući da postoje razlike, vidjet ćete slične rezultate kao što slijedi:

2,4c2,3

<10 zelenih boca na zidu

Na zidu bi bilo 9 zelenih boca

...

> Ako 1 zelena bočica slučajno pada

> Na zidu će stajati 9 zelenih boca

U početku, izlaz može izgledati zbunjujuće, ali jednom kad shvatite terminologiju, prilično je logičan.

Koristeći vlastite oči možete vidjeti da su razlike između 2 datoteke sljedeće:

Izlaz iz naredbe diff pokazuje da između redaka 2 i 4 prve datoteke i linija 2 i 3 druge datoteke postoje razlike.

Tada je naveden linije od 2 do 4 iz prve datoteke, a slijede dvije različite linije u drugoj datoteci.

Kako se samo prikazati ako su datoteke različite

Ako samo želite znati jesu li datoteke različite, a vi ne zanima koje su linije različite, možete pokrenuti sljedeću naredbu:

diff-q datoteku1 datoteka2

Ako su datoteke različite, prikazat će se sljedeće:

Datoteke datoteke1 i datoteka2 se razlikuju

Ako su datoteke iste, ništa se ne prikazuje.

Kako prikazati poruku ako su datoteke jednaki

Kada pokrenete naredbu koju želite znati da je ispravno radila, tako da želite da se poruka prikazuje kada pokrenete naredbu diff bez obzira jesu li datoteke iste ili različite

Da bi se taj zahtjev mogao postići pomoću naredbe diff, možete upotrijebiti sljedeću naredbu :.

diff -s file1 file2

Ako su datoteke istovjetne, dobit ćete sljedeću poruku:

Datoteke datoteke1 i datoteka2 su identične

Kako proizvoditi razlike uz bok

Ako postoji puno razlika onda vrlo brzo može postati zbunjujuće o tome kakve su razlike zapravo između dviju datoteka.

Možete promijeniti izlaz naredbe diff tako da se rezultati prikazuju jedan uz drugi. Da biste to učinili, pokrenite sljedeću naredbu:

diff -y datoteku1 file2

Izlaz za datoteku koristi se | simbol da bi se prikazala razlika između dva retka, a da se prikaže crta koja je dodana.

Zanimljivo je da pokrenete naredbu pomoću demonstracijskih datoteka, a zatim će sve linije biti različite, osim posljednjeg retka datoteke 2 koja će se prikazati kao izbrisana.

Ograničavanje širine stupaca

Kada uspoređujete dvije datoteke jedna uz drugu, može biti teško čitati ako datoteke imaju puno stupaca teksta.

Da biste ograničili broj stupaca, upotrijebite sljedeću naredbu:

diff - širina = 5 datoteka2

Kako zanemariti razliku u slučaju usporedbe datoteka

Ako želite usporediti dvije datoteke, ali ne zanima je li slučaj slova isti između dviju datoteka, možete upotrijebiti sljedeću naredbu:

diff -i file1 file2

Kako zanemariti prateći bijeli prostor na kraju linije

Ako prilikom uspoređivanja datoteka primijetite opterećenje razlika, a razlike su uzrokovane bijelim prostorom na kraju redaka, možete ih izostaviti kao da se pojavljuju kao promjene izvršavanjem sljedeće naredbe:

diff -Z file1 file2

Kako zanemariti sve razlike u bijelom prostoru između dvije datoteke

Ako ste zainteresirani samo za tekst u datoteci i ne zanima postoji li više prostora u jednoj od drugih, možete upotrijebiti sljedeću naredbu:

diff -w datoteka1 file2

Kako zanemariti prazne linije prilikom usporedbe dviju datoteka

Ako vam nije važno da jedna datoteka može imati dodatne prazne crte u njemu, možete usporediti datoteke koristeći sljedeću naredbu:

diff -B datoteka1 file2

Sažetak

Više informacija možete pronaći čitanjem priručnika za naredbu diff.

čovjek razl

Naredba diff može se koristiti u svom najjednostavnijem obliku samo da vam pokaže razliku između 2 datoteke, ali ga također možete upotrijebiti za stvaranje diff datoteke kao dio strategije zakrpe, kao što je prikazano u ovom priručniku za naredbu Linux patch .

Druga naredba koju možete koristiti za usporedbu datoteka je naredba cmp kao što je prikazano ovim vodičem . Ovo uspoređuje datoteke byte po bajtu.