Linux diff naredba

Linux Diff Naredba



Vjerojatnije je da će razlika biti koncept ili osjećaj koji može razlikovati jednu stvar od druge. Naredba “diff” odnosi se na varijaciju. Analizirajući dokumente redak po redak, ovaj alat pokazuje razlike među datotekama. Obavještava nas koje odjeljke u jednom dokumentu treba izmijeniti kako bismo stvorili slične dokumente, za razliku od pratećih elemenata cmp i comm. Ključni aspekt koji treba imati na umu je da, kako bi dokumenti bili slični, diff koristi posebne posebne simbole i naredbe. Dobivate upute kako izmijeniti prvi dokument tako da bude u skladu s drugim dokumentom. Unutar ovog vodiča, raspravljat ćemo o korištenju naredbe “diff” u Ubuntu 20.04 koristeći Linux terminal.

Kreirali smo dvije tekstualne datoteke u radnoj mapi našeg sustava.









Vrijeme je da upotrijebite instrukciju 'diff' u području upita za prikaz razlike između sadržaja obje datoteke. Pokušavamo ovu instrukciju 'diff' s oba naziva datoteka u nizu, tj. prvo one.txt, a zatim two.txt datoteke. Izvršenje naredbe “diff” pokazuje nam razliku između obje datoteke kao:



  • Brojevi redaka prema prvoj tekstualnoj datoteci.
  • Posebni znakovi/simboli koji nas obavještavaju o razlikama poput promjene, dodavanja, brisanja.
  • Brojevi redaka prema drugoj tekstualnoj datoteci.

U našoj prvoj ilustraciji razrađujemo simbol 'a' među brojevima retka izlaza naredbe 'diff'; 'a' se koristi kao kratica za 'dodaj'. Korištenje instrukcije 'cat' s oba naziva datoteke u području upita zasebno prikazuje sadržaj unutar svake tekstualne datoteke, tj. one.txt i two.txt. Imamo ukupno 4 retka unutar prve datoteke, dok druga datoteka sadrži 5 redaka. Linija 1 je ekstra.





Zatim isprobavamo instrukciju 'diff' na području upita terminala nakon čega slijede nazivi datoteka – one.txt i two.txt. Izvršenje ove instrukcije prikazuje '0a1' kao izlaz zajedno s linijom 1 iz druge datoteke koja je dodatna linija u drugoj datoteci. Numerička vrijednost '0' koristi se za redak 0 ili prije retka 1 prve datoteke, tj. one.txt. Simbol 'a' znači 'dodaj'. Na kraju, brojčana vrijednost '1' označava prvi redak druge datoteke. Miješani izlaz '0d1' znači da redak 1 druge datoteke 'two.txt' treba dodati na vrh prve datoteke 'one.txt' prije nego što prvi redak dva učini obje datoteke istima.



Sada ažuriramo obje datoteke kako bismo vidjeli drugu ilustraciju. Prva datoteka “one.txt” sadrži 4 retka, a druga datoteka “two.txt” sadrži samo 3 retka. Jedina razlika za ove datoteke je korištenje dodatnog retka u prvoj datoteci, tj. retka 1 = 'ponedjeljak' koji se ne nalazi u drugoj datoteci. Nakon isprobavanja instrukcije 'diff' za ažurirane tekstualne datoteke, dobivamo '1d0' kao izlaz. I prikazuje se prvi redak iz prve datoteke. U “1d0”, 1 znači da treba izbrisati prvi red iz datoteke “one.txt” (prema simbolu “d”), a 0 znači da druga datoteka nije ažurirana. Na kraju, redak 1 iz prve datoteke 'one.txt' je prikazan za jasnu razliku.

Slično, naredba “diff” može prikazati razliku između redaka dviju datoteka. Stoga još jednom ažuriramo obje tekstualne datoteke. Ovaj put prva datoteka sadrži 5 redaka, dok druga datoteka sadrži samo 4. Jedina je razlika korištenje dodatnog retka u one.txt koji je redak 3. Naredba diff koja se koristi za obje datoteke u terminalu prikazuje izlaz “3d2” zajedno s linijom 3 iz prve datoteke “one.txt”. Ovaj izlaz pokazuje da redak 3 iz prve datoteke 'one.txt' treba izbrisati tako da možemo sinkronizirati obje datoteke u retku 2 druge datoteke. Prikazana je druga linija '3' kako bismo mogli dobiti jasnu predodžbu o razlici.

Pogledajmo jasan i dublji izlaz. Izlaz 1,5c1,2 sa sljedeće slike pokazuje da se reci 1 do 5 prve datoteke (one.txt) trebaju promijeniti s redovima 1 do 2 druge datoteke (two.txt). To znači da prvih 5 redaka (1 do 5) datoteke one.txt treba promijeniti i zamijeniti s prva dva reda (1, 2) druge datoteke 'two.txt' kako bi bila ista. Na kraju se prikaže svih 5 redaka iz prve datoteke koje treba zamijeniti s prikazana 2 redaka iz druge datoteke. Ovako simbol 'c' govori razliku između dvije datoteke - nijedna linija nije ista u obje datoteke.

Naredba “diff” omogućuje vam da dobijete njen izlaz u obliku konteksta. Zamislite da imate dvije iste datoteke sa sljedećim podacima u tim datotekama. Kontekst oko izlaza bio bi prikazati glavnu razliku između ukupnih jednostavnih datoteka koje su prikazane na sljedećoj slici. Sada imamo 5 redaka u prvoj datoteci 'one.txt' i 4 redaka u drugoj datoteci 'two.txt'.

Da bismo dobili izlaz na temelju konteksta instrukcije 'diff', moramo koristiti opciju '-c' unutar naredbe 'diff'. Koristeći prethodno ažurirane datoteke u ovoj naredbi 'diff', dobivamo sljedeći izlaz - datum, dan, zajedno s dodatnim informacijama o stvaranju teksta unutar datoteka. Prikazuje se 5 redaka iz datoteke one.txt. Posebno je njegova treća linija istaknuta pomoću znaka '-' kako bi se samo dodala u drugu datoteku.

Zaključak

Pokušali smo ukratko objasniti sve o instrukciji “diff”. Zbog toga smo svaki put ažurirali naše tekstualne datoteke i dobili ažurirani izlaz za dodavanje, uklanjanje i promjenu podataka u datoteci. Uvod je objasnio svrhu korištenja naredbe “diff” u Linuxu i kako je koristiti za Linux.