Tato příručka vám ukáže, jak pomocí systému Linux porovnávat dva soubory a vytisknout jejich rozdíl na obrazovku nebo soubor.
Nemusíte instalovat žádný speciální software pro porovnání souborů pomocí systému Linux, ale potřebujete vědět, jak otevřít okno terminálu .
Jak ukazuje připojená příručka, existuje mnoho způsobů, jak otevřít okno terminálu pomocí systému Linux. Nejjednodušší je stisknout klávesy CTRL, ALT a T současně.
Vytváření souborů ke srovnání
Chcete-li sledovat spolu s touto příručkou, vytvořte soubor s názvem "file1" a zadejte následující text:
10 zelených lahví stojících na zdi
10 zelených lahví stojících na zdi
Pokud by nějaká zelená láhev měla náhodou spadnout
Na zdi by stálo 9 zelených lahví
Soubor můžete vytvořit podle následujících pokynů:
- Otevřete soubor zadáním následujícího příkazu: nano file1
- Zadejte text do editoru nano
- Stisknutím kláves CTRL a O uložte soubor
- Stisknutím kláves CTRL a X ukončete soubor
Nyní vytvořte další soubor s názvem "file2" a zadejte následující text:
10 zelených lahví stojících na zdi
Pokud 1 zelená láhev náhodně spadne
Na zdi by stálo 9 zelených lahví
Soubor můžete vytvořit podle následujících pokynů:
- Otevřete soubor zadáním následujícího příkazu: nano file2
- Zadejte text do editoru nano
- Stisknutím kláves CTRL a O uložte soubor
- Stisknutím kláves CTRL a X ukončete soubor
Jak porovnávat dva soubory pomocí systému Linux
Příkaz používaný v Linuxu pro zobrazení rozdílů mezi 2 soubory se nazývá příkaz diff.
Nejjednodušší forma příkazu diff je následující:
diff file1 file2
Pokud jsou soubory stejné, nebude při použití tohoto příkazu žádný výstup, jelikož existují rozdíly, uvidíte výstup podobný následujícímu:
2,4c2,3
<10 zelených lahví stojících na zdi
... > Pokud 1 zelená láhev náhodně spadne > Na zdi by stálo 9 zelených lahví Zpočátku se výstup může zdát zmatený, ale jakmile rozumíte terminologii, je to poměrně logické. Pomocí vlastních očí můžete vidět, že rozdíly mezi dvěma soubory jsou následující: Výstup z příkazu diff ukazuje, že mezi řádky 2 a 4 prvního souboru a řádky 2 a 3 druhého souboru existují rozdíly. Poté zobrazí řádky 2 až 4 z prvního souboru, po kterém následují dva různé řádky ve druhém souboru. Pokud chcete vědět, jestli jsou soubory odlišné a nemáte zájem o jiné řádky, můžete spustit následující příkaz: diff -q soubor1 soubor2 Pokud jsou soubory odlišné, zobrazí se následující: Soubory file1 a file2 se liší Pokud jsou soubory stejné, nic se nezobrazí. Když spustíte příkaz, který chcete vědět, že funguje správně, chcete, aby se zpráva zobrazovala při spuštění příkazu diff bez ohledu na to, zda jsou soubory stejné nebo jiné Chcete-li tento požadavek splnit pomocí příkazu diff, můžete použít následující příkaz :. diff -s soubor1 soubor2 Nyní, pokud jsou soubory stejné, obdržíte následující zprávu: Soubory file1 a file2 jsou totožné Pokud existuje spousta rozdílů, může se velmi rychle zaměnit, co jsou skutečné rozdíly mezi těmito dvěma soubory. Výstup příkazu diff můžete změnit tak, aby se výsledky zobrazovaly vedle sebe. Chcete-li to provést, spusťte následující příkaz: diff -y soubor1 soubor2 Výstup souboru používá | symbol pro zobrazení rozdílu mezi těmito dvěma řádky, a Je zajímavé, že pokud spustíte příkaz pomocí našich ukázkových souborů, všechny řádky se budou lišit, s výjimkou posledního řádku souboru 2, který bude zobrazen jako vymazaný. Při porovnávání dvou souborů vedle sebe může být obtížné číst, zda mají soubory mnoho sloupců textu. Chcete-li omezit počet sloupců, použijte následující příkaz: diff - width = 5 souborů2 Pokud chcete porovnat dva soubory, ale je jedno, zda je případ písmen stejný mezi těmito dvěma soubory, můžete použít následující příkaz: diff -i file1 file2 Pokud při porovnávání souborů zaznamenáte spousty rozdílů a rozdíly jsou způsobeny bílou mezerou na konci řádků, můžete je vynechat jako zobrazené jako změny spuštěním následujícího příkazu: diff -Z soubor1 soubor2 Pokud se zajímáte pouze o text v souboru a je vám jedno, zda v něm existuje více mezer než druhý, můžete použít následující příkaz: diff -w soubor1 soubor2 Pokud je vám jedno, že jeden soubor může mít navíc prázdné řádky, můžete porovnat soubory pomocí následujícího příkazu: diff -B soubor1 soubor2 Více informací získáte tak, že si přečtete manuál pro příkaz diff. man diff Příkaz diff může být použit ve své nejjednodušší formě, aby vám ukázal rozdíly mezi dvěma soubory, ale můžete jej také použít k vytvoření souboru diff jako součásti strategie patching, jak je ukázáno v této příručce příkazu patch Linux . Dalším příkazem, který můžete použít k porovnání souborů, je příkaz cmp, jak ukazuje tato příručka . To porovná soubory byte byte. Jak se zobrazují pouze v případě, že se soubory liší
Jak zobrazit zprávu Pokud jsou soubory stejné
Jak vytvářet rozdíly vedle sebe
Omezení šířky sloupců
Jak ignorovat případové rozdíly při porovnávání souborů
Jak ignorovat koncový bílý prostor na konci řádku
Jak ignorovat všechny bílé rozdíly mezi dvěma soubory
Jak ignorovat prázdné čáry při porovnávání dvou souborů
souhrn