GNU/Linux >> Znalost Linux >  >> Linux

Jak porovnat dva soubory v terminálu Linux

Potřeba porovnávání souborů v operačním systému Linux je často přehlížena, ale hraje důležitou roli zejména pro správce systému Linux. Možnost flexibilně porovnávat dva soubory na linuxovém terminálu vrhá určité světlo na to, jak jedinečná nebo odlišná je sada souborů vnímána jako.

[ Také by se vám mohlo líbit:Jak spojit dva textové soubory v Linuxu ]

Například mohou existovat dva soubory se stejnými vlastnostmi a velikostí. Místo předpokladu, že jsou totožné, linuxový program pro porovnávání souborů takový problém vyčistí. Můžete být překvapeni, když zjistíte, že rozlišovacím faktorem těchto dvou souborů je nějaká formulace nebo mezery, které se shodují s jedním souborem a ne s druhým.

Několik linuxových programů založených na terminálu nám může pomoci dosáhnout cíle tohoto článku, ale jen několik z nich vyniká z hlediska dynamických funkcí.

Vytváření textových souborů v Linuxu

Vytvořme dva ukázkové soubory z terminálu Linux. Ujistěte se, že jste uživatel sudoer nebo máte oprávnění sudo v operačním systému Linux, který používáte.

$ sudo nano file1

Tento soubor naplníme nějakým náhodným obsahem.

1 2 3 4 5 6 7 8 9 10
one two three four five six seven eight nine ten
This file contains some number sequences in numeric and textual form.
Regards,
LinuxShellTips Tutor

Pojďme vytvořit druhý soubor.

$ sudo nano file2

Tento soubor naplníme obsahem mírně podobným souboru1 .

11 2 13 4 15 6 7 8 19 10
one twice three four five six seven eight nine ten
This file contains some number sequences in numeric form and some textual representation of the numbers.
Regards,
LinuxShellTips Tutor

Použití diff k porovnání souborů v Linuxu

Od rozdíl je terminálový program, jehož pomocí jsou výstupem cílené rozdíly mezi dvěma soubory. Jinými slovy, rozdíl výstup vám sdělí změny, které lze implementovat do souboru1 aby byl shodný nebo identický s souborem2 .

Výpis rozdílů mezi dvěma soubory

Implementujme první pokus o porovnání těchto dvou souborů:

$ diff file1 file2

Tento výstup můžeme interpretovat následujícím způsobem:

Pokud se vrátíte k původnímu souboru1 a soubor2 soubory, které jsme vytvořili dříve, zjistíte, že výše uvedený rozdíl výstup příkazu nezobrazuje veškerý obsah ze dvou souborů. Vynechal všechny podobnosti těchto dvou souborů a zobrazil pouze jejich rozdíly.

Zjistěte, že dva soubory jsou identické pomocí rozdílu v Linuxu

Vytvořme třetí soubor s názvem file3 .

$ sudo nano file3

Tento soubor naplníme obsahem podobným souboru 1.

1 2 3 4 5 6 7 8 9 10
one two three four five six seven eight nine ten
This file contains some number sequences in numeric and textual form.
Regards,
LinuxShellTips Tutor

Jednovrstvý rozdíl výstup příkazu by nám měl být schopen přímo říci, zda jsou dva soubory totožné.

$ diff -s file1 file3

Použití extra -s argument příkaz umožňuje tento výstup. Implementace se dvěma neidentickými soubory však stále způsobí jejich rozdíly.

$ diff -s file1 file2

Pokud hledáte jednořádkový výstup na dvou souborech, o kterých se domníváte, že se liší, zvažte použití příkazu diff s -q možnost.

$ diff -q file1 file2

Files file1 and file2 differ

Alternativní zobrazení výstupu příkazu rozdíl

Pokud potřebujete, aby porovnání výstupu vašich dvou souborů bylo vedle sebe, zvažte implementaci rozdílu příkaz s -y možnost.

$ diff -y file1 file2

Pokud chcete, aby výše uvedený příkaz potlačil nebo ignoroval podobnosti těchto dvou souborů, zahrňte --suppress-common-lines možnost.

 
$ diff -y --suppress-common-lines file1 file2

Pokud máte co do činění se dvěma velkými soubory a chcete omezit výstup na konkrétní čísla sloupců, implementovali byste rozdíl příkaz následujícím způsobem.

$ diff -y -W 50 file1 file2

Výše uvedený příkaz předpokládá, že dva srovnávané soubory jsou poněkud velké a přesahují 50 sloupců z hlediska velikosti textu. Výstup rozdílu bude omezen na 50 sloupců.


Linux
  1. Jak přejmenovat soubory v Linuxu

  2. Jak porovnat dvě databáze SQLite na Linuxu

  3. Jak porovnám binární soubory v Linuxu?

  1. Jak spojit dva textové soubory v Linuxu

  2. Jak komprimovat více souborů v systému Linux

  3. Jak porovnat obsah dvou tarballů

  1. Jak najít soubory v Linuxu

  2. Jak rozbalit soubory v Linuxu

  3. Jak porovnávat a slučovat textové soubory na Linuxu