Před spuštěním vytvořte dva soubory pomocí libovolného textového editoru (v tomto kurzu se používá nano) se stejným obsahem:
# nano diffsample1
Vnitřní pasta:
LinuxHint pro vás vydává nejlepší obsah
lis CTRL+X a Y pro uložení a ukončení.
Vytvořte druhý soubor s názvem diffsample2 se stejným obsahem:
# nano diffsample2
Poznámka: věnujte pozornost mezerám a tabulátorům, soubory musí být 100% stejné.
lis CTRL+X a Y pro uložení a ukončení.
# diff diffsample1 diffsample2
Jak vidíte, neexistuje žádný výstup, není třeba dělat něco pro to, aby byly soubory stejné, protože jsou již stejné.
Nyní můžeme upravit soubor diffsample2 a provést nějakou změnu:
# nano diffsample2Pojďme tedy nahradit slovo „obsah“ za „tipy“:
lis CTRL+X a Y uložit a ukončit.
Nyní spusťte:
# diff diffsample1 diffsample2Podívejme se na výstup:
Výstup výše „3c3“ znamená „Řádek 3 prvního souboru by měl být nahrazen řádkem 3 druhého souboru“. Přátelská část výstupu je, že nám ukazuje, jaký text je třeba změnit („obsah pro vás" pro "tipy pro vás”)
To nám ukazuje, že odkaz na příkaz diff není první soubor, ale druhý, proto musí být první řádek třetího souboru (první 3) změněn (C) jako třetí řádek druhého souboru (druhý 3).
Příkaz diff může obsahovat 3 znaky:
C: tato postava dává pokyny a Změna Musí být hotovo.
A: tato postava poučuje, že něco musí být Přidal.
d: tato postava poučuje, že něco musí být Smazáno.
První čísla před znaky patří do prvního souboru, zatímco čísla za znaky patří do druhého souboru.
Symbol < belongs to the first file and the symbol > do druhého souboru, který se používá jako reference.
Pojďme místo spuštění invertovat pořadí souborů
# diff diffsample1 diffsample2běh:
# diff diffsample2 diffsample1Můžete vidět, jak byla objednávka obrácena, a nyní se jako reference používá soubor diffsample1 a dává nám pokyn změnit „tipy pro vás“ pro „obsah pro vás“, toto byl předchozí výstup:
Nyní upravme soubor diffsample1 takto:
Odeberte všechny řádky, s výjimkou prvního řádku v souboru diffsample1. Poté spusťte:
# diff diffsample2 diffsample1
Jak vidíte, protože jsme použili soubor diffsample1 jako referenci, aby byl soubor diffsample2 přesně stejný, musíme ho smazat (d) řádky dva a tři (2,3) jako v prvním souboru a prvních řádcích (1) bude stejný.
Nyní umožňuje invertovat pořadí a místo spuštění “# diff diffsample2 diffsample1 ” běh:
# diff diffsample1 diffsample2
Jak vidíte, zatímco předchozí příklad nám dal pokyn k odstranění, tento nám dává pokyn k přidání (A) řádky 2 a 3 za prvním řádkem prvního souboru (1).
Nyní pojďme pracovat na vlastnosti tohoto programu, která rozlišuje velká a malá písmena.
Upravte soubor diffsample2 jako:
A upravte soubor diffsample1 jako:
Jediným rozdílem jsou velká písmena v souboru diffsample2. Nyní to porovnejme znovu pomocí diff:
# diff diffsample1 diffsample2
Jak vidíte rozdíly nalezených rozdílů, velká písmena, vyhneme se detekci velkých písmen, pokud nás nezajímají malá a velká písmena přidáním -i volba:
# diff -i diffsample1 diffsample2
Nebyly nalezeny žádné rozdíly, detekce případů byla deaktivována.
Nyní změňte výstupní formát přidáním možnosti -u slouží k tisku jednotných výstupů:
Navíc k datu a času se výstup zobrazuje s - a + symbol, co by mělo být odstraněno a co by mělo být přidáno, aby byly soubory rovnocenné.
Na začátku tohoto článku jsem řekl, že mezery a karty musí být v obou souborech stejné, protože jsou detekovány také příkazem diff, pokud chceme, aby příkaz diff ignoroval mezery a karty, musíme použít -w volba.
Otevřete soubor diffsample2 a přidejte mezery a karty:
Jak vidíte, přidal jsem pár záložek za „nejlepší“ do druhého řádku a také mezery ve všech řádcích, zavřete, uložte soubor a spusťte:
# diff diffsample1 diffsample2
Jak vidíte, byly nalezeny rozdíly, navíc k velkým písmenům. Nyní pojďme použít tuto možnost -w instruovat diff, aby ignoroval mezery:
Jak vidíte, i přes tabelační rozdíl byl jako rozdíl nalezen pouze velká písmena.
Nyní přidejme znovu volbu -i:
Příkaz diff má desítky dostupných možností, které lze použít k ignorování, změně výstupu, diskriminaci sloupců, pokud existují, atd. Další informace o těchto možnostech získáte příkazem man nebo na http: // man7.org / linux / man-pages / man1 / diff.1.html. Doufám, že vám tento článek s příklady příkazů diff v Linuxu připadal užitečný. Pokračujte v LinuxHintu, kde najdete další tipy a aktualizace pro Linux a sítě.