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:
-
Otvorite datoteku upisivanjem sljedeće naredbe: nano file1
-
Upišite tekst u nano uređivač
-
Pritisnite CTRL i O za spremanje datoteke
-
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:
-
Otvorite datoteku upisivanjem sljedeće naredbe: nano file2
-
Upišite tekst u nano uređivač
-
Pritisnite CTRL i O za spremanje datoteke
-
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
<Ako jedna zelena bočica slučajno pada
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:
- Druga datoteka ima samo tri retka dok prva datoteka ima 4.
- Druga datoteka kaže "1 zelenu bocu" na trećem retku dok prva datoteka kaže "jedna zelena bočica"
- Druga datoteka kaže "postoji" umjesto "bi" na završnoj liniji
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 bi se prikazala uklonjena linija i> 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:
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:
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:
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:
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:
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.