Linux naredbe

Primjeri naredbi diff u Linuxu

Primjeri naredbi diff u Linuxu
Naredba diff je analiza ili informativna naredba koja ispisuje razlike između datoteka, analizirajući ih red po red ili direktorije rekurzivno, istovremeno obavještavajući korisnika koje su promjene potrebne da bi datoteke bile jednake. Ovaj se vodič fokusira na naredbu diff.

Prije početka stvorite dvije datoteke pomoću bilo kojeg uređivača teksta (nano se koristi u ovom vodiču) s istim sadržajem:

# nano diffsample1

Unutarnja pasta:

 LinuxHint objavljuje najbolji sadržaj za vas 

Pritisnite CTRL+x a Y za spremanje i izlazak.

Stvorite drugu datoteku koja se naziva diffsample2 s istim sadržajem:

# nano diffsample2

Bilješka: obratite pažnju na razmake i kartice, datoteke moraju biti 100% jednake.

Pritisnite CTRL+x a Y za spremanje i izlazak.

# razl. difsample1 difsample2

Kao što vidite, nema rezultata, ne treba nešto poduzeti kako bi datoteke bile jednake jer su već jednake.

Sada dopuštamo datoteku diffsample2 da napravimo neke promjene:

# nano diffsample2

Zamijenimo zatim riječ „sadržaj“ za „savjete“:

Pritisnite CTRL+x i Y za spremanje i izlazak.

Sada pokrenite:

# razl. difsample1 difsample2

Pogledajmo izlaz:

Izlaz iznad, "3c3" znači "Redak 3 prve datoteke treba zamijeniti redom 3 druge datoteke". Prijateljski dio rezultata je da nam pokazuje koji se tekst mora mijenjati („sadržaj za vas"Za"savjeti za vas")

To nam pokazuje referenca za naredbu diff nije prva datoteka već druga, zato se prvi redak datoteke (prvi 3) mora mijenjati (C) kao treći redak druge datoteke (drugi 3).

Naredba diff može prikazati 3 znaka:

c: ovaj lik upućuje a Promijeniti mora biti napravljeno.
a: ovaj lik upućuje da nešto mora biti Dodano.
d: ovaj lik upućuje da nešto mora biti Izbrisano.

Prvi brojevi ispred znakova pripadaju prvoj datoteci, dok brojevi nakon znakova pripadaju drugoj datoteci.

Simbol < belongs to the first file and the symbol > na drugu datoteku koja se koristi kao referenca.

Obrnimo redoslijed datoteka, umjesto da se pokrenemo

# razl. difsample1 difsample2

trčanje:

# diff diffsample2 diffsample1

Možete vidjeti kako je redoslijed obrnut i sada se datoteka diffsample1 koristi kao referenca i upućuje nas da promijenimo "savjete za vas" u "sadržaj za vas", ovo je bio prethodni izlaz:

Sada uredimo datoteku diffsample1 ovako:

Uklonite sve retke, osim prvog retka u datoteci diffsample1. Zatim pokrenite:

# diff diffsample2 diffsample1

Kao što vidite, budući da smo datoteku diffsample1 koristili kao referencu, kako bismo datoteku diffsample2 učinili potpuno jednakom, moramo je izbrisati (d) dva i tri retka (2,3) kao u prvoj datoteci i prvim redovima (1) bit će jednaki.

Sada omogućava obrnuti redoslijed i umjesto izvođenja “# diff diffsample2 diffsample1 " trčanje:

# diff diffsample1 diffsample2

Kao što vidite, dok nam je prethodni primjer naložio uklanjanje, ovaj upućuje da dodamo (a) retci 2 i 3 nakon prvog retka datoteke (1).

Sada ćemo raditi na svojstvu ovog programa koje razlikuje velika i mala slova.

Uredite datoteku diffsample2 poput:

I uredite datoteku diffsample1 kao:

Jedina razlika su velika slova u datoteci diffsample2. Sada ga uspoređujemo koristeći opet diff:

# razl. difsample1 difsample2

Kao što možete vidjeti razlike u pronađenim razlikama, velikim slovima, izbjegavamo otkrivanje razlika u velikim slovima, ako nas ne zanima velika i mala slova dodavanjem -ja opcija:

# diff -i diffsample1 diffsample2

Nisu pronađene razlike, otkrivanje slučaja je onemogućeno.

Promijenimo sada izlazni format dodavanjem opcije -u koristi se za ispis objedinjenih izlaza:

Uz to, na datum i vrijeme izlaz se prikazuje s - i + simbol što treba ukloniti, a što dodati kako bi se datoteke izjednačile.

Na početku ovog članka rekao sam da razmaci i kartice moraju biti jednaki u obje datoteke, jer ih također otkriva naredba diff, ako želimo da naredba diff ignorira razmake i kartice, moramo primijeniti -w opcija.

Otvorite datoteku diffsample2 i dodajte razmake i kartice:

Kao što vidite, dodao sam nekoliko kartica nakon "najbolje" u drugom retku, a također i razmake u svim redovima, zatvorite, spremite datoteku i pokrenite:

# diff diffsample1 diffsample2

Kao što vidite, pronađene su razlike, pored velikih slova. Sada ćemo primijeniti opciju  -w uputiti diff da ignorira prazne prostore:

Kao što vidite, unatoč tabelarnom razlikovanju, samo se kao razlika razlikuju velika slova.
Sad opet dodajte opciju -i:

#diff -wi diffsample2 diffsample1

Naredba diff ima na desetke dostupnih opcija koje se mogu primijeniti za ignoriranje, promjenu rezultata, razlikovanje stupaca kada su prisutni, itd. Dodatne informacije o tim opcijama možete dobiti pomoću naredbe man ili na http: // man7.org / linux / man-pages / man1 / razl.1.html. Nadam se da vam je ovaj članak s primjerima naredbi diff u Linuxu bio koristan. Nastavite pratiti LinuxHint za više savjeta i ažuriranja o Linuxu i umrežavanju.

Kako koristiti GameConqueror Cheat Engine u Linuxu
Članak pokriva vodič o korištenju GameConqueror varalice u Linuxu. Mnogi korisnici koji igraju igre na sustavu Windows često koriste aplikaciju "Cheat...
Najbolji emulatori igraće konzole za Linux
Ovaj će članak navesti popularni softver za emulaciju igraće konzole dostupan za Linux. Emulacija je sloj kompatibilnosti softvera koji oponaša hardve...
Najbolji Linux Distros za igre na sreću 2021. godine
Linux operativni sustav daleko je prevalio svoj izvorni, jednostavni izgled zasnovan na poslužitelju. Ovaj se OS posljednjih godina izuzetno poboljšao...