GNU/Linux >> Znalost Linux >  >> Linux

Porovnejte dva soubory v Linuxu – pomocí diff, vimdiff a colordiff

Linux vám poskytuje několik možností pro porovnání dvou souborů. Nejoblíbenějším příkazem pro porovnání dvou souborů je diff . V tomto tutoriálu se podíváme na příkaz diff a některé další možnosti, které můžete použít k porovnání dvou souborů v Linuxu.

Vytvořme dva soubory, které použijeme jako příklady v celém tutoriálu.

Text pro soubor 1:

 Welcome to the best source for learning Linux.
 How are you doing?

Text pro soubor 2:

Welcome to Linux For Devices!
How are you doing?

Příkaz Diff pro porovnání dvou souborů v Linuxu

Příkaz Diff je nejčastěji používaný příkaz, pokud jde o porovnávání dvou souborů. Název je zkratka pro „rozdíl “. Výstup vám řekne kroky, které musíte provést, abyste změnili první soubor tak, aby odpovídal druhému souboru.

Syntaxe pro použití příkazu diff je:

diff [option] [file 1] [file 2]

Podívejme se na příkaz diff v akci.

diff [file 1] [file 2]

Výstup zobrazí pouze řádky, které se neshodují. Řádky se zobrazí v pořadí souborů, jak je uvedeno v příkazu.

Pokusme se porozumět výstupu.

Můžete vidět, že výstup začíná ‘1c1‘ . Toto je ve formátu [rozsah][abc][rozsah].

Kde první pole rozsahu patří do prvního souboru a pole druhého rozsahu patří do druhého souboru.

Písmeno uprostřed může být jedno z následujících tří.

  • a: přidat
  • c: změnit
  • d: smazat

V našem příkladu ‘1c1’ znamená, že potřebujete změnu číslo řádkujeden z prvního souboru abyste se ujistili, že se oba soubory synchronizují až dořádku číslo jedna druhého souboru.

3d2 znamená, že musíte smazat řádek číslo tři prvního souboru, abyste se ujistili, že se oba soubory synchronizují na řádku číslo dvě druhého souboru.

Kontextový režim (diff -c)

Chcete-li vidět rozdíl mezi dvěma soubory v kontextovém režimu, použijte -c flag spolu s příkazem diff.

diff -c [file 1] [file 2]

Pokusme se porozumět výstupu.

Výstup začíná metainformacemi o souboru. Jedná se o informace, jako je název souboru, datum a čas vytvoření a oprávnění.

Další řádek je *** 1,3 ****. Tento řádek obsahuje číslo řádku od a do, které jsou brány v úvahu při porovnávání.

Za tímto je text ze souboru 1. Zde můžete vidět určité symboly před řádkem. Podívejme se, co tyto symboly znamenají.

  • + :V prvním souboru chybí řádek. Můžete jej buď přidat do prvního souboru, nebo odstranit z druhého souboru.
  • – : V druhém souboru chybí řádek. Můžete jej buď přidat do druhého souboru, nebo jej odstranit z prvního souboru.
  • ! : Řádek je třeba změnit, aby se v obou řádcích shodoval.

Stejná informace se opakuje pro druhý soubor.

Jednotný formát (diff -u)

Jednotný formát je vylepšená verze kontextového režimu. Syntaxe je následující:

diff -u [file 1] [file 2]

Můžete vidět, že předává stejné informace, ale stručným způsobem.

Vimdiff porovnat dva soubory v Linuxu

Dalším způsobem, jak porovnat dva soubory, jeVimdiff. To bude fungovat, pouze pokud máte na svém systému editor Vim.

Syntaxe pro porovnání dvou souborů pomocí vimdiff je:

vimdiff [file 1] [file 2] 

Takto vypadá výstup. Otevře dva soubory v editoru Vim vedle sebe. Zvýrazňuje také části, které se v těchto dvou souborech neshodují. Měli byste použít vimdiff, pokud vám vyhovuje používání editoru Vim.

Colordiff

Skript colordiff v Perlu je obal pro ‚diff‘ a vytváří stejný výstup, ale s pěkným zvýrazněním ‚syntaxe‘. Také vám dává možnost přizpůsobit barvy.

Chcete-li nainstalovat colordiff na váš systém, použijte příkaz apt:

sudo apt install colordiff

Tento příkaz nainstaluje colordiff do vašeho systému. Pro porovnání dvou souborů pomocí kolodifu použijte :

colordiff [file 1] [file 2] 

Můžete vidět, že výstup je stejný jako výstup vytvořený výše v příkazu diff. Jediný rozdíl je v barvě výstupu.

Závěr

Tento tutoriál byl o různých způsobech, které můžete použít k porovnání souborů v Linuxu.


Linux
  1. Jak šifrovat a dešifrovat soubory/složky v Linuxu pomocí GnuPG

  2. Jak komprimovat a dekomprimovat soubory .bz2 v Linuxu pomocí příkazu bzip2

  3. Jak sloučit dva soubory pomocí AWK?

  1. Jak přenášet soubory mezi dvěma počítači pomocí příkazů nc a pv

  2. Ručně sloučit dva soubory pomocí diff

  3. Použití rz a sz pod linuxovým shellem

  1. Spolupracujte na souboru pomocí rozdílu a opravy Linuxu

  2. Snadný způsob, jak skrýt soubory a adresáře v Linuxu

  3. Jak extrahovat soubory .gz a .tar.gz v Linuxu