Kako usporediti dva tekstualna fajla koristeći Linux

Ovaj vodič će vam pokazati kako koristiti Linux za upoređivanje dva fajla i iznošenje njihove razlike na ekran ili u datoteku.

Ne morate instalirati bilo koji poseban softver kako biste upoređivali datoteke koristeći Linux, ali morate znati kako otvoriti prozor terminala .

Kako povezani vodič pokazuje da postoji mnogo načina za otvaranje prozora terminala koristeći Linux. Najjednostavnije je istovremeno pritisnuti tastere CTRL, ALT i T.

Kreiranje datoteka za upoređivanje

Da biste pratili ovaj vodič, kreirajte datoteku pod nazivom "file1" i unesite sledeći tekst:

10 zelenih boca stoje na zidu

10 zelenih boca stoje na zidu

Ako bi jedna zelena bočica slučajno pala

Na zidu bi bilo 9 zelenih boca

Možete kreirati datoteku slijedeći sljedeća uputstva:

  1. Otvorite datoteku upisivanjem sledeće naredbe: nano file1
  2. Tekst unesite u nano editor
  3. Pritisnite CTRL i O da biste sačuvali datoteku
  4. Pritisnite CTRL i X da izađete iz datoteke

Sada kreirajte drugu datoteku pod nazivom "file2" i unesite sledeći tekst:

10 zelenih boca stoje na zidu

Ako 1 zelena bočica slučajno pada

Na zidu bi bilo 9 zelenih boca

Možete kreirati datoteku slijedeći sljedeća uputstva:

  1. Otvorite datoteku upisivanjem sledeće naredbe: nano file2
  2. Tekst unesite u nano editor
  3. Pritisnite CTRL i O da biste sačuvali datoteku
  4. Pritisnite CTRL i X da izađete iz datoteke

Kako usporediti dva fajla koristeći Linux

Komanda koja se koristi u Linuxu da bi pokazala razlike između 2 datoteka se naziva komanda diff.

Najjednostavniji oblik diff naredbe je sledeći:

diff file1 file2

Ako su datoteke iste onda neće biti izlaza kada se koristi ova komanda, međutim, pošto postoje razlike, videćete izlaz sličan sledećem:

2,4c2,3

<10 zelenih boca stoje na zidu

...

> Ako 1 zelena boca treba slučajno pasti

> Na zidu bi bilo 9 zelenih boca

Na početku, rezultat može izgledati zbunjujuće, ali kada razumete terminologiju, prilično je logičan.

Upotrebom sopstvenih očiju možete videti da su razlike između 2 fajlova sledeće:

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

Onda navodi linije od 2 do 4 iz prve datoteke, a zatim 2 različite linije u drugoj datoteci.

Kako samo pokazati da li su fajlovi različiti

Ako želite samo da znate da li su datoteke drugačije i da vas ne zanima koji su redovi drugačiji, možete pokrenuti sljedeću komandu:

diff -q file1 file2

Ako su datoteke različite, prikazaće se sledeće:

Datoteke file1 i file2 se razlikuju

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

Kako prikazati poruku Ako su datoteke iste

Kada pokrenete komandu, želite da znate da je ispravno funkcionisala, tako da želite da se poruka prikazuje kada pokrenete komandu diff, bez obzira da li su datoteke iste ili različite

Da biste ostvarili ovaj zahtev pomoću naredbe diff, možete koristiti sljedeću naredbu :.

diff -s file1 file2

Sada, ako su datoteke iste, dobićete sledeću poruku:

Datoteke file1 i file2 su identične

Kako proizvesti razlike jedni pored drugih

Ako ima puno razlike onda može vrlo brzo postati zbunjujuće u vezi sa razlikama između dva fajla.

Izlaz komande diff možete promijeniti tako da se rezultati prikazuju uz rame. Da biste to uradili pokrenite sledeću komandu:

diff -y file1 file2

Izlaz za datoteku koristi | simbol pokazuje razliku između dve linije, a da prikaže liniju koja je dodata.

Zanimljivo je da ako pokrenete komandu pomoću naših demonstracionih datoteka, sve linije će se pokazati drugačije, osim poslednje linije datoteke 2 koja će biti prikazana kao izbrisana.

Ograničavanje širina kolona

Prilikom upoređivanja dve datoteke jedan pored drugog može biti teško čitati ako datoteke imaju puno kolona teksta.

Da biste ograničili broj stupaca koristite sledeću komandu:

diff --width = 5 datoteka2

Kako da ignorišemo razliku slučaja prilikom upoređivanja datoteka

Ako želite da uporedite dve datoteke, ali vam nije briga da li je slučaj slova isti između dva fajla, onda možete koristiti sledeću komandu:

diff -i file1 file2

Kako ignorisati dodirni beli prostor na kraju linije

Ako pri upoređivanju datoteka primećujete opterećenje razlike i razlike su uzrokovane bijelim prostorom na kraju linija, možete ih isprobati kao prikazivanjem kao izmena tako što ćete pokrenuti sljedeću naredbu:

diff -Z file1 file2

Kako ignorisati sve razlike u bijelom prostoru između dva fajla

Ako vas samo interesuje tekst u datoteci i ne zanima vas da li ima više prostora u jednoj od drugog, možete koristiti sledeću komandu:

diff -w file1 file2

Kako ignorisati prazne linije prilikom upoređivanja dva fajla

Ako vam nije briga da jedna datoteka može imati dodatne prazne linije u njemu onda možete upoređivati ​​datoteke koristeći sljedeću komandu:

diff -B file1 file2

Sažetak

Više informacija možete pronaći tako što ćete čitati priručnik za komandu diff.

čovek diff

Ova diff naredba se može koristiti u najjednostavnijem obliku kako bi vam samo pokazala razlike između 2 datoteka, ali možete ga koristiti i za kreiranje diff datoteke kao dela strategije za patching, kao što je prikazano u ovom vodiču za komandu Linux patch .

Druga komanda koju možete koristiti za upoređivanje datoteka je cmp naredba kao što je prikazano u ovom vodiču . Ovo upoređuje datoteke bajta bajtom.