Príkaz rozdielov v systéme Linux

Prikaz Rozdielov V Systeme Linux



Rozdiel je skôr v koncepte alebo pocite, ktorý dokáže odlíšiť jednu vec od druhej. Príkaz „diff“ sa vzťahuje na variáciu. Analýzou dokumentov riadok po riadku tento nástroj demonštruje rozdiely medzi súbormi. Informuje nás, ktoré sekcie v jednom dokumente je potrebné zmeniť, aby boli dokumenty podobné, na rozdiel od jeho sprievodných prvkov cmp a comm. Rozhodujúcim aspektom, ktorý treba mať na pamäti, je, že na to, aby boli dokumenty podobné, používa diff špecifické špeciálne symboly a príkazy. Dostanete pokyny, ako upraviť prvý dokument tak, aby bol konzistentný s druhým dokumentom. V tejto príručke budeme diskutovať o použití príkazu „diff“ v Ubuntu 20.04 pomocou terminálu Linux.

V pracovnom priečinku nášho systému sme vytvorili dva textové súbory.









Je čas použiť inštrukciu „diff“ v oblasti dotazu na zobrazenie rozdielu medzi obsahom oboch súborov. Skúšame túto inštrukciu „diff“ s oboma názvami súborov v poradí, t. j. najprv súbor one.txt a potom súbor two.txt. Spustenie príkazu „diff“ nám ukazuje rozdiel medzi oboma súbormi ako:



  • Čísla riadkov podľa prvého textového súboru.
  • Špeciálne znaky/symboly, ktoré nám dajú vedieť o rozdieloch, ako je zmena, pridanie, vymazanie.
  • Čísla riadkov podľa druhého textového súboru.

V našej prvej ilustrácii rozoberáme symbol „a“ medzi číslami riadkov výstupu príkazu „diff“; „a“ sa používa ako skratka pre „Pridať“. Použitie inštrukcie „cat“ s oboma názvami súborov v oblasti dotazu oddelene zobrazí obsah v každom textovom súbore, t. j. one.txt a two.txt. V prvom súbore máme celkom 4 riadky, zatiaľ čo druhý súbor obsahuje 5 riadkov. Linka 1 je navyše.





Potom vyskúšame inštrukciu „diff“ v oblasti dotazu terminálu, za ktorou nasledujú názvy súborov – one.txt a two.txt. Vykonanie tejto inštrukcie zobrazí „0a1“ ako výstup spolu s riadkom 1 z druhého súboru, čo je ďalší riadok v druhom súbore. Číselná hodnota „0“ sa používa pre riadok 0 alebo pred riadkom 1 prvého súboru, t. j. jeden.txt. Symbol „a“ znamená „pridať“. Nakoniec, číselná hodnota „1“ znamená prvý riadok druhého súboru. Výstup mixu „0d1“ znamená, že riadok 1 druhého súboru „two.txt“ by mal byť pridaný na začiatok prvého súboru „one.txt“ predtým, ako prvý riadok dva urobí oba súbory rovnaké.



Teraz aktualizujeme oba súbory, aby sme videli ďalšiu ilustráciu. Prvý súbor „one.txt“ obsahuje 4 riadky a druhý súbor „dva.txt“ obsahuje iba 3 riadky. Jediný rozdiel pre tieto súbory je použitie ďalšieho riadku v prvom súbore, t. j. riadok 1 = „pondelok“, ktorý nie je v druhom súbore. Po vyskúšaní inštrukcie „diff“ pre aktualizované textové súbory dostaneme ako výstup „1d0“. A zobrazí sa prvý riadok z prvého súboru. V „1d0“ 1 znamená, že prvý riadok zo súboru „one.txt“ má byť vymazaný (podľa symbolu „d“) a 0 znamená, že druhý súbor nemá žiadnu aktualizáciu. Nakoniec sa pre jasný rozdiel zobrazí riadok 1 z prvého súboru „one.txt“.

Podobne príkaz „diff“ môže zobraziť rozdiel medzi riadkami dvoch súborov. Preto oba textové súbory ešte raz aktualizujeme. Tentoraz prvý súbor obsahuje 5 riadkov, zatiaľ čo druhý súbor obsahuje iba 4. Jediným rozdielom je použitie ďalšieho riadku v one.txt, ktorým je riadok 3. Príkaz diff použitý na oboch súboroch v termináli zobrazuje výstup „3d2“ spolu s riadkom 3 z prvého súboru „one.txt“. Tento výstup ukazuje, že riadok 3 z prvého súboru „one.txt“ by mal byť vymazaný, aby sme mohli synchronizovať oba súbory na riadku 2 druhého súboru. Zobrazí sa odlišný riadok „3“, aby sme mohli získať jasnú predstavu o rozdiele.

Pozrime sa na výstup jasne a hlbšie. Výstup 1,5c1,2 z nasledujúceho obrázku ukazuje, že riadky 1 až 5 prvého súboru (jeden.txt) by sa mali zmeniť na riadky 1 až 2 druhého súboru (dva.txt). Znamená to, že prvých 5 riadkov (1 až 5) súboru one.txt treba zmeniť a nahradiť prvými dvoma riadkami (1, 2) druhého súboru „dva.txt“, aby bol rovnaký. Nakoniec sa zobrazí všetkých 5 riadkov z prvého súboru, ktoré by sa mali nahradiť zobrazenými 2 riadkami druhého súboru. Takto symbol „c“ vyjadruje rozdiel medzi dvoma súbormi – žiadny riadok nie je v oboch súboroch rovnaký.

Príkaz „diff“ vám umožňuje získať jeho výstup v kontextovej forme. Predstavte si, že máte dva rovnaké súbory s nasledujúcimi údajmi v týchto súboroch. Kontext okolo výstupu by zobrazoval hlavný rozdiel medzi celkovými jednoduchými súbormi, ktoré sú zobrazené na nasledujúcom obrázku. Teraz máme 5 riadkov v prvom súbore „one.txt“ a 4 riadky v druhom súbore „dva.txt“.

Aby sme získali kontextový výstup inštrukcie „diff“, musíme použiť možnosť „-c“ v príkaze „diff“. Pomocou predtým aktualizovaných súborov v tomto príkaze „diff“ získame nasledujúci výstup – dátum, deň spolu s ďalšími informáciami týkajúcimi sa vytvárania textu v súboroch. Zobrazí sa 5 riadkov zo súborov one.txt. Najmä jeho tretí riadok je zvýraznený pomocou znaku „-“, aby ste ho jednoducho pridali do iného súboru.

Záver

Snažili sme sa stručne vysvetliť všetko o inštrukcii „diff“. Na tento účel sme zakaždým aktualizovali naše textové súbory a získali sme aktualizovaný výstup na pridávanie, odstraňovanie a zmenu údajov v súbore. Úvod vysvetlil účel použitia príkazu „diff“ v Linuxe a ako ho použiť pre Linux.