Ako porovnávať dva textové súbory pomocou

Táto príručka vám ukáže, ako používať systém Linux na porovnanie dvoch súborov a výstup ich rozdielu na obrazovku alebo súbor.

Nemusíte inštalovať žiadny špeciálny softvér na porovnanie súborov pomocou systému Linux, ale potrebujete vedieť, ako otvoriť okno terminálu .

Ako ukazuje prepojený sprievodca, existuje mnoho spôsobov, ako otvoriť okno terminálu pomocou systému Linux. Najjednoduchšie je súčasne stlačiť klávesy CTRL, ALT a T.

Vytváranie súborov na porovnanie

Ak chcete sledovať spolu s touto príručkou, vytvorte súbor s názvom "file1" a zadajte nasledujúci text:

10 zelených fliaš stojacich na stene

10 zelených fliaš stojacich na stene

Ak jedna zelená fľaša náhodne spadne

Na stene by stálo 9 zelených fliaš

Súbor môžete vytvoriť podľa týchto pokynov:

  1. Otvorte súbor zadaním nasledujúceho príkazu: nano file1
  2. Zadajte text do editora nano
  3. Stlačením klávesov CTRL a O uložte súbor
  4. Stlačením CTRL a X ukončíte súbor

Teraz vytvorte ďalší súbor s názvom "file2" a zadajte nasledujúci text:

10 zelených fliaš stojacich na stene

Ak 1 zelená fľaša náhodne spadne

Na stene by stálo 9 zelených fliaš

Súbor môžete vytvoriť podľa týchto pokynov:

  1. Otvorte súbor zadaním nasledujúceho príkazu: nano file2
  2. Zadajte text do editora nano
  3. Stlačením klávesov CTRL a O uložte súbor
  4. Stlačením CTRL a X ukončíte súbor

Ako porovnávať dva súbory pomocou systému Linux

Príkaz používaný v systéme Linux na zobrazenie rozdielov medzi dvoma súbormi sa nazýva príkaz diff.

Najjednoduchšia forma príkazu diff je nasledujúca:

diff file1 file2

Ak sú súbory rovnaké, nebudú pri použití tohto príkazu žiadny výstup, pretože ak sú rozdiely, uvidíte výstup podobný nasledujúcemu:

2,4c2,3

<10 zelených fliaš stojacich na stene

...

> Ak by sa náhodne spadla jedna zelená fľaša

> Na stene by stálo 9 zelených fliaš

Spočiatku sa výstup môže zdať mätúce, ale akonáhle rozumiete terminológii, je to pomerne logické.

Pomocou vlastných očí môžete vidieť, že rozdiely medzi dvoma súbormi sú nasledovné:

Výstup z príkazu diff ukazuje, že medzi riadkami 2 a 4 prvého súboru a riadkami 2 a 3 druhého súboru sú rozdiely.

V tomto zozname sú uvedené riadky 2 až 4 z prvého súboru, za ktorými nasledujú dva rôzne riadky v druhom súbore.

Ako jednoducho zobraziť, ak sú súbory odlišné

Ak chcete len vedieť, či sú súbory odlišné a nemáte záujem, ktoré riadky sú iné, môžete spustiť nasledujúci príkaz:

diff -q file1 file2

Ak sú súbory odlišné, zobrazí sa nasledovné:

Súbory file1 a file2 sa líšia

Ak sú súbory rovnaké, nič sa nezobrazí.

Ako zobraziť správu Ak sú súbory rovnaké

Keď spustíte príkaz, ktorý chcete vedieť, že funguje správne, chcete, aby sa správa zobrazovala pri spustení príkazu diff bez ohľadu na to, či sú súbory rovnaké alebo odlišné

Aby ste dosiahli túto požiadavku pomocou príkazu diff, môžete použiť nasledujúci príkaz :.

diff -s file1 file2

Teraz, ak sú súbory rovnaké, dostanete nasledujúcu správu:

Súbory file1 a file2 sú identické

Ako vytvoriť rozdiely vedľa seba

Ak existuje veľa rozdielov, potom sa môže veľmi rýchlo stať mätúcou, pokiaľ ide o skutočné rozdiely medzi týmito dvoma súbormi.

Výstup príkazu diff môžete zmeniť tak, aby sa výsledky zobrazovali vedľa seba. Za týmto účelom spustite nasledujúci príkaz:

diff -y súbor1 súbor2

Výstup pre súbor používa | symbol na zobrazenie rozdielu medzi dvoma riadkami, a zobraziť riadok, ktorý bol pridaný.

Je zaujímavé, že ak spustíte príkaz pomocou našich demonštračných súborov, všetky riadky sa budú zobrazovať ako iné, s výnimkou posledného riadku súboru 2, ktorý sa zobrazí ako odstránený.

Obmedzenie šírky stĺpcov

Pri porovnávaní dvoch súborov vedľa seba môže byť ťažké čítať, či majú súbory veľa stĺpcov textu.

Ak chcete obmedziť počet stĺpcov, použite nasledujúci príkaz:

diff - width = 5 súbor file2

Ako ignorovať rozdiely v prípadoch pri porovnávaní súborov

Ak chcete porovnať dva súbory, ale nestaráte sa, či je prípad písmen rovnaký medzi týmito dvoma súbormi, môžete použiť nasledujúci príkaz:

diff -i file1 file2

Ako ignorovať koncový biely priestor na konci čiary

Ak pri porovnávaní súborov spozorujete veľa rozdielov a rozdiely sú spôsobené prázdnym priestorom na konci riadkov, môžete ich vynechať ako zobrazené ako zmeny spustením nasledujúceho príkazu:

diff -Z súbor1 súbor2

Ako ignorovať všetky biele rozdiely medzi dvomi súbormi

Ak máte záujem len o text v súbore a je vám jedno, či v sebe existuje viac medzery ako jeden, môžete použiť nasledujúci príkaz:

diff -w súbor1 súbor2

Ako ignorovať prázdne riadky pri porovnávaní dvoch súborov

Ak je vám jedno, že jeden súbor môže mať navyše prázdne riadky, potom môžete porovnať súbory pomocou nasledujúceho príkazu:

diff -B súbor1 súbor2

zhrnutie

Viac informácií nájdete v príručke príkazu diff.

man diff

Príkaz diff môže byť použitý v najjednoduchšej forme, aby vám ukázal rozdiely medzi dvomi súbormi, ale môžete ho tiež použiť na vytvorenie diff súboru ako súčasti stratégie patchingu, ako je uvedené v tejto príručke príkazu patch Linux .

Ďalší príkaz, ktorý môžete použiť na porovnanie súborov, je príkaz cmp, ako je uvedené v tejto príručke . To porovnáva súbory bajtov byte.