Příkaz rozdílu v Linuxu

Prikaz Rozdilu V Linuxu



Rozdíl je spíše v konceptu nebo pocitu, který dokáže odlišit jednu věc od druhé. Příkaz „diff“ odkazuje na variaci. Analýzou dokumentů řádek po řádku tento nástroj demonstruje rozdíly mezi soubory. Informuje nás, které sekce v jednom dokumentu je třeba změnit, aby byly dokumenty podobné, na rozdíl od doprovodných prvků cmp a comm. Klíčovým aspektem, který je třeba mít na paměti, je, že aby byly dokumenty podobné, používá diff specifické speciální symboly a příkazy. Dostanete pokyny, jak upravit první dokument tak, aby byl konzistentní s druhým dokumentem. V této příručce budeme diskutovat o použití příkazu „diff“ v Ubuntu 20.04 pomocí terminálu Linux.

Vytvářeli jsme dva textové soubory v pracovní složce našeho systému.









Je čas použít instrukci „diff“ v oblasti dotazu k zobrazení rozdílu mezi oběma obsahy souborů. Zkoušíme tuto instrukci „diff“ s oběma názvy souborů v sekvenci, tj. nejprve soubor one.txt a pak soubor two.txt. Spuštění příkazu „diff“ nám ukazuje rozdíl mezi oběma soubory jako:



  • Čísla řádků podle prvního textového souboru.
  • Speciální znaky/symboly, které nám dají vědět o rozdílech, jako je změna, přidání, smazání.
  • Čísla řádků podle druhého textového souboru.

V naší první ilustraci rozvádíme symbol „a“ mezi čísly řádků výstupu příkazu „diff“; „a“ se používá jako zkratka pro „Přidat“. Použití instrukce „cat“ s oběma názvy souborů v oblasti dotazu samostatně zobrazí obsah uvnitř každého textového souboru, tj. one.txt a two.txt. V prvním souboru máme celkem 4 řádky, zatímco druhý soubor obsahuje 5 řádků. Řádek 1 je navíc.





Poté vyzkoušíme instrukci „diff“ v oblasti dotazu terminálu následovanou názvy souborů – one.txt a two.txt. Provedení této instrukce ukazuje „0a1“ jako výstup spolu s řádkem 1 z druhého souboru, což je další řádek ve druhém souboru. Číselná hodnota „0“ se používá pro řádek 0 nebo před řádek 1 prvního souboru, tedy jeden.txt. Symbol „a“ znamená „přidat“. Nakonec číselná hodnota „1“ znamená první řádek druhého souboru. Výstup mixu „0d1“ znamená, že řádek 1 druhého souboru „dva.txt“ by měl být přidán na začátek prvního souboru „one.txt“ před prvním řádkem dva, aby byly oba soubory stejné.



Nyní aktualizujeme oba soubory, abychom viděli další ilustraci. První soubor „one.txt“ obsahuje 4 řádky a druhý soubor „dva.txt“ obsahuje pouze 3 řádky. Jediným rozdílem u těchto souborů je použití dalšího řádku v prvním souboru, tj. řádek 1 = „pondělí“, který není ve druhém souboru. Po vyzkoušení instrukce „diff“ pro aktualizované textové soubory dostaneme jako výstup „1d0“. A zobrazí se první řádek z prvního souboru. V „1d0“ 1 znamená, že první řádek ze souboru „one.txt“ by měl být smazán (jako symbol „d“) a 0 znamená, že druhý soubor nebyl aktualizován. Nakonec se pro jasný rozdíl zobrazí řádek 1 z prvního souboru „one.txt“.

Podobně může příkaz „diff“ zobrazit rozdíl mezi řádky dvou souborů. Proto oba textové soubory ještě jednou aktualizujeme. Tentokrát první soubor obsahuje 5 řádků, zatímco druhý soubor obsahuje pouze 4. Jediným rozdílem je použití dalšího řádku v one.txt, což je řádek 3. Příkaz diff použitý na obou souborech v terminálu zobrazí výstup „3d2“ spolu s řádkem 3 z prvního souboru „one.txt“. Tento výstup ukazuje, že řádek 3 z prvního souboru „one.txt“ by měl být odstraněn, abychom mohli synchronizovat oba soubory na řádku 2 druhého souboru. Zobrazí se odlišný řádek „3“, abychom si mohli udělat jasnou představu o rozdílu.

Pojďme se na výstup podívat jasně a hlouběji. Výstup 1,5c1,2 z následujícího obrázku ukazuje, že řádky 1 až 5 prvního souboru (jeden.txt) by měly být změněny řádky 1 až 2 druhého souboru (dva.txt). Znamená to, že prvních 5 řádků (1 až 5) souboru one.txt by mělo být změněno a nahrazeno prvními dvěma řádky (1, 2) druhého souboru „dva.txt“, aby byl stejný. Nakonec se zobrazí všech 5 řádků z prvního souboru, které by měly být nahrazeny zobrazenými 2 řádky druhého souboru. Takto symbol „c“ říká rozdíl mezi dvěma soubory – žádný řádek není v obou souborech stejný.

Příkaz „diff“ umožňuje získat jeho výstup v kontextové podobě. Představte si, že máte dva stejné soubory s následujícími daty v těchto souborech. Kontext kolem výstupu by zobrazoval hlavní rozdíl mezi celkovými jednoduchými soubory, které jsou zobrazeny na následujícím obrázku. Nyní máme 5 řádků v prvním souboru „one.txt“ a 4 řádky ve druhém souboru „dva.txt“.

Abychom získali kontextový výstup instrukce „diff“, musíme použít volbu „-c“ v příkazu „diff“. Pomocí dříve aktualizovaných souborů v tomto příkazu „diff“ získáme následující výstup – datum, den a další informace týkající se vytváření textu v souborech. Zobrazí se 5 řádků ze souborů one.txt. Zejména jeho třetí řádek je zvýrazněn pomocí znaku „-“ pro přidání do jiného souboru.

Závěr

Pokusili jsme se stručně vysvětlit vše o instrukci „diff“. Za tímto účelem jsme pokaždé aktualizovali naše textové soubory a získali jsme aktualizovaný výstup pro přidávání, odstraňování a změnu dat v souboru. Úvod vysvětlil účel použití příkazu „diff“ v Linuxu a jak jej používat pro Linux.