Príkazy pre Linux

Príklady príkazov diff v systéme Linux

Príklady príkazov diff v systéme Linux
Príkaz diff je analytický alebo informačný príkaz, ktorý tlačí rozdiely medzi súbormi, analyzuje ich riadok po riadku alebo adresáre rekurzívne a zároveň informuje používateľa, aké zmeny sú potrebné na to, aby sa súbory rovnali, tento bod je dôležitý na pochopenie výstupov diff. Tento výukový program sa zameriava na príkaz diff.

Pred začatím vytvorte pomocou ľubovoľného textového editora (v tejto príručke sa používa nano) dva súbory s rovnakým obsahom:

# nano diffsample1

Vnútorná pasta:

 LinuxHint vydáva pre vás najlepší obsah 

Stlačte CTRL+X a Y na uloženie a ukončenie.

Vytvorte druhý súbor s názvom diffsample2 s rovnakým obsahom:

# nano diffsample2

Poznámka: venujte pozornosť medzerám a tabulátorom, súbory sa musia rovnať 100%.

Stlačte CTRL+X a Y na uloženie a ukončenie.

# diff diffsample1 diffsample2

Ako vidíte, neexistuje žiadny výstup, nie je potrebné robiť niečo pre to, aby boli súbory rovnaké, pretože už sú rovnaké.

Teraz umožňuje upraviť súbor diffsample2, aby sa urobila nejaká zmena:

# nano diffsample2

Potom nahraďme slovo „obsah“ výrazom „tipy“:

Stlačte CTRL+X a Y uložiť a ukončiť.

Teraz spustite:

# diff diffsample1 diffsample2

Pozrime sa na výstup:

Vyššie uvedený výstup „3c3“ znamená „Riadok 3 prvého súboru by mal byť nahradený riadkom 3 druhého súboru“. Priateľská časť výstupu je, že nám ukazuje, aký text je potrebné zmeniť („obsah pre vás„Pre“tipy pre vás”)

Toto nám ukazuje, že referencia pre príkaz diff nie je prvý súbor, ale druhý, preto musí byť prvý riadok tretieho súboru (prvý 3) zmenený (C) ako tretí riadok druhého súboru (druhý 3).

Príkaz diff môže obsahovať 3 znaky:

c: táto postava dáva pokyny a Zmena musí byť urobené.
a: táto postava niečo poučuje Pridané.
d: táto postava niečo poučuje Vymazané.

Prvé čísla pred znakmi patria do prvého súboru, zatiaľ čo čísla za znakmi patria do druhého súboru.

Symbol < belongs to the first file and the symbol > do druhého súboru, ktorý sa používa ako referencia.

Namiesto spustenia invertujme poradie súborov

# diff diffsample1 diffsample2

beh:

# diff diffsample2 diffsample1

Môžete vidieť, ako bola objednávka obrátená, a teraz sa ako referencia používa súbor diffsample1 a dáva nám pokyn, aby sme zmenili „tipy pre vás“ na „obsah pre vás“, toto bol predchádzajúci výstup:

Teraz poďme upraviť súbor diffsample1 takto:

Odstráňte všetky riadky, okrem prvého riadku v súbore diffsample1. Potom spustite:

# diff diffsample2 diffsample1

Ako vidíte, keďže sme ako referenciu použili súbor diffsample1, aby bol súbor diffsample2 úplne rovnaký, musíme ho vymazať (d) riadky dva a tri (2,3) ako v prvom súbore a v prvých riadkoch (1) bude rovnaké.

Teraz umožňuje obrátiť poradie a namiesto spustenia „# diff diffsample2 diffsample1 ” beh:

# diff diffsample1 diffsample2

Ako vidíte, zatiaľ čo predchádzajúci príklad nám dal pokyn na odstránenie, tento nám dáva pokyn, aby sme pridali (a) riadky 2 a 3 za prvým riadkom prvého súboru (1).

Teraz popracujme na vlastnosti tohto programu, ktorá rozlišuje veľké a malé písmená.

Upravte súbor diffsample2 ako:

A upravte súbor diffsample1 ako:

Jediným rozdielom sú veľké písmená v súbore diffsample2. Teraz to porovnajme znova pomocou diff:

# diff diffsample1 diffsample2

Ako vidíte rozdiel nájdených rozdielov, veľké písmená, vyhneme sa detekcii veľkých písmen, pokiaľ nás nezaujíma rozlišovanie veľkých a malých písmen pridaním -i možnosť:

# diff -i diffsample1 diffsample2

Nezistili sa žiadne rozdiely, detekcia prípadov bola deaktivovaná.

Teraz zmeníme výstupný formát pridaním možnosti -u slúži na tlač zjednotených výstupov:

Okrem toho sa k dátumu a času zobrazuje výstup s a - a + symbol, čo by malo byť odstránené a čo by malo byť pridané, aby sa súbory vyrovnali.

Na začiatku tohto článku som uviedol, že medzery a tabulátory musia byť v obidvoch súboroch rovnaké, pretože ich detekuje aj príkaz diff. Ak chceme, aby príkaz diff ignoroval medzery a karty, musíme použiť príkaz -w možnosť.

Otvorte súbor diffsample2 a pridajte medzery a karty:

Ako vidíte, do druhého riadku som pridal niekoľko kariet za „to najlepšie“ a tiež medzery do všetkých riadkov, zavrite, uložte súbor a spustite:

# diff diffsample1 diffsample2

Ako vidíte, boli zistené rozdiely, navyše k veľkým písmenám. Teraz poďme použiť túto možnosť  -w príkaz diff ignorovať medzery:

Ako vidíte, aj napriek tabuľkovým rozdielom sa rozdiel našiel iba ako rozdiel veľkých písmen.
Teraz pridajme opäť možnosť -i:

#diff -wi diffsample2 diffsample1

Príkaz diff má desiatky dostupných možností na ignorovanie, zmenu výstupu, rozlišovanie stĺpcov, ak sú prítomné, atď. Ďalšie informácie o týchto možnostiach môžete získať pomocou príkazu man alebo na adrese http: // man7.org / linux / man-pages / man1 / diff.1.html. Dúfam, že sa vám tento článok s ukážkou príkazov diff v Linuxe hodil. Postupujte podľa pokynov pre systém LinuxHint, kde nájdete ďalšie tipy a aktualizácie pre systém Linux a prácu v sieti.

Hry Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Hranie hier na celú obrazovku alebo používanie aplikácií v režime rozptýlenia zadarmo na celú obrazovku vás môže odrezať od relevantných systémových i...
Hry Top 5 kariet na zachytávanie hier
Top 5 kariet na zachytávanie hier
Všetci sme videli a milovali streamovanie hier na YouTube. PewDiePie, Jakesepticye a Markiplier sú iba niektorí z najlepších hráčov, ktorí zarobili mi...
Hry Ako vyvíjať hru v systéme Linux
Ako vyvíjať hru v systéme Linux
Pred desiatimi rokmi by len málo používateľov Linuxu predpovedalo, že ich obľúbený operačný systém bude jedného dňa populárnou hernou platformou pre k...