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 diffsample2Potom nahraďme slovo „obsah“ výrazom „tipy“:
Stlačte CTRL+X a Y uložiť a ukončiť.
Teraz spustite:
# diff diffsample1 diffsample2Pozrime 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 diffsample2beh:
# diff diffsample2 diffsample1Môž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:
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.