Linux diff ukaz

Linux Diff Ukaz



Razlika je bolj verjetno koncept ali občutek, ki lahko razlikuje eno stvar od druge. Ukaz »diff« se nanaša na variacijo. Z analizo dokumentov vrstico za vrstico to orodje pokaže razlike med datotekami. Obvešča nas, katere razdelke v enem dokumentu je treba spremeniti, da ustvarimo podobne dokumente, za razliko od njegovih spremljevalnih elementov cmp in comm. Ključni vidik, ki ga morate upoštevati, je, da diff uporablja posebne posebne simbole in ukaze, da bi bili dokumenti podobni. Dobili boste navodila, kako spremeniti prvi dokument, tako da bo skladen z drugim dokumentom. V tem priročniku bomo razpravljali o uporabi ukaza »diff« v Ubuntu 20.04 z uporabo terminala Linux.

V delovni mapi našega sistema smo ustvarjali dve besedilni datoteki.









Čas je, da uporabite navodilo »diff« v območju poizvedbe, da prikažete razliko med obema vsebinama datotek. To navodilo »diff« poskusimo z obema imenoma datotek v zaporedju, tj. najprej ena.txt in nato two.txt datoteka. Izvedba ukaza “diff” nam pokaže razliko med obema datotekama kot:



  • Številke vrstic glede na prvo besedilno datoteko.
  • Posebni znaki/simboli, ki nas obveščajo o razlikah, kot so sprememba, dodajanje, brisanje.
  • Številke vrstic glede na drugo besedilno datoteko.

V naši prvi ilustraciji podrobneje obravnavamo simbol »a« med številkami vrstic izhoda ukaza »diff«; 'a' se uporablja kot okrajšava za 'dodaj'. Uporaba ukaza »cat« z obema imenoma datotek v območju poizvedbe ločeno prikaže vsebino znotraj vsake besedilne datoteke, tj. one.txt in two.txt. V prvi datoteki imamo skupaj 4 vrstice, medtem ko druga datoteka vsebuje 5 vrstic. Vrstica 1 je ekstra.





Nato poskusimo z navodilom »diff« na območju poizvedbe terminala, ki mu sledijo imena datotek – one.txt in two.txt. Izvedba tega ukaza prikaže »0a1« kot izhod skupaj z vrstico 1 iz druge datoteke, ki je dodatna vrstica v drugi datoteki. Številčna vrednost »0« se uporablja za vrstico 0 ali pred vrstico 1 prve datoteke, tj. one.txt. Simbol 'a' pomeni 'dodaj'. Končno, številčna vrednost '1' pomeni prvo vrstico druge datoteke. Mešani izhod »0d1« pomeni, da je treba 1. vrstico druge datoteke »two.txt« dodati na vrh prve datoteke »one.txt«, preden prva vrstica two naredi obe datoteki enaki.



Zdaj posodobimo obe datoteki, da vidimo drugo ilustracijo. Prva datoteka »one.txt« vsebuje 4 vrstice, druga datoteka »two.txt« pa vsebuje samo 3 vrstice. Edina razlika pri teh datotekah je uporaba dodatne vrstice v prvi datoteki, tj. vrstica 1 = »ponedeljek«, ki je ni v drugi datoteki. Po preizkusu navodil »diff« za posodobljene besedilne datoteke dobimo »1d0« kot izhod. Prikaže se prva vrstica iz prve datoteke. V »1d0« 1 pomeni, da je treba prvo vrstico iz datoteke »one.txt« izbrisati (v skladu s simbolom »d«), 0 pa pomeni, da druga datoteka ni bila posodobljena. Na koncu se prikaže vrstica 1 iz prve datoteke »one.txt« za jasno razliko.

Podobno lahko ukaz »diff« prikaže razliko med vrsticama dveh datotek. Zato še enkrat posodobimo obe besedilni datoteki. Tokrat prva datoteka vsebuje 5 vrstic, medtem ko druga datoteka vsebuje le 4. Edina razlika je uporaba dodatne vrstice v one.txt, ki je vrstica 3. Ukaz diff, uporabljen za obe datoteki v terminalu, prikaže izpis »3d2« skupaj z vrstico 3 iz prve datoteke »one.txt«. Ta rezultat kaže, da je treba vrstico 3 iz prve datoteke »one.txt« izbrisati, tako da lahko sinhroniziramo obe datoteki v vrstici 2 druge datoteke. Prikaže se druga vrstica »3«, da lahko dobimo jasno predstavo o razliki.

Oglejmo si jasen in globlji pogled na rezultat. Izhod 1,5c1,2 iz naslednje slike kaže, da je treba vrstice 1 do 5 prve datoteke (one.txt) spremeniti z vrsticami 1 do 2 druge datoteke (two.txt). To pomeni, da je treba prvih 5 vrstic (1 do 5) datoteke one.txt spremeniti in nadomestiti s prvima dvema vrsticama (1, 2) druge datoteke »two.txt«, da bo enaka. Na koncu se prikaže vseh 5 vrstic iz prve datoteke, ki jih je treba nadomestiti s prikazanima 2 vrsticama druge datoteke. Tako simbol »c« pove razliko med dvema datotekama – v obeh datotekah nobena vrstica ni enaka.

Ukaz “diff” vam omogoča, da dobite njegov izhod v kontekstni obliki. Predstavljajte si, da imate isti dve datoteki z naslednjimi podatki v teh datotekah. Kontekst okoli izhoda bi bil prikaz glavne razlike med skupnimi preprostimi datotekami, ki so prikazane na naslednji sliki. Zdaj imamo 5 vrstic v prvi datoteki »one.txt« in 4 vrstice v drugi datoteki »two.txt«.

Da bi dobili kontekstno zasnovan izhod ukaza »diff«, moramo uporabiti možnost »-c« znotraj ukaza »diff«. Z uporabo predhodno posodobljenih datotek v tem ukazu »diff« dobimo naslednje rezultate – datum, dan, skupaj z dodatnimi informacijami o ustvarjanju besedila v datotekah. Prikaže se 5 vrstic iz datoteke one.txt. Predvsem njegova tretja vrstica je označena z znakom »-«, da jo dodate v drugo datoteko.

Zaključek

Poskušali smo na kratko razložiti vse o navodilu 'diff'. Za to smo vsakič posodobili besedilne datoteke in dobili posodobljen izhod za dodajanje, odstranjevanje in spreminjanje podatkov v datoteki. Uvod je pojasnil namen uporabe ukaza »diff« v Linuxu in kako ga uporabiti za Linux.