Příkazy pro Linux

Příklady příkazů diff v Linuxu

Příklady příkazů diff v Linuxu
Příkaz diff je analytický nebo informativní příkaz, který tiskne rozdíly mezi soubory, analyzuje je řádek po řádku nebo rekurzivně adresáře a zároveň informuje uživatele, jaké změny jsou nutné, aby se soubory rovnaly, tento bod je důležitý pro pochopení výstupů diff. Tento kurz se zaměřuje na příkaz diff.

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 diffsample2

Pojďme tedy nahradit slovo „obsah“ za „tipy“:

lis CTRL+X a Y uložit a ukončit.

Nyní spusťte:

# diff diffsample1 diffsample2

Podí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 diffsample2

běh:

# diff diffsample2 diffsample1

Můž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:

#diff -wi diffsample2 diffsample1

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ě.

Hry Nejlepší aplikace pro mapování gamepadu pro Linux
Nejlepší aplikace pro mapování gamepadu pro Linux
Pokud rádi hrajete hry na Linuxu s gamepadem místo typického vstupního systému pro klávesnici a myš, máte k dispozici několik užitečných aplikací. Mno...
Hry Užitečné nástroje pro hráče Linuxu
Užitečné nástroje pro hráče Linuxu
Pokud rádi hrajete hry na Linuxu, je pravděpodobné, že jste ke zlepšení herního zážitku použili aplikace a nástroje jako Wine, Lutris a OBS Studio. Kr...
Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...