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:
-
Otvorte súbor zadaním nasledujúceho príkazu: nano file1
-
Zadajte text do editora nano
-
Stlačením klávesov CTRL a O uložte súbor
-
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:
-
Otvorte súbor zadaním nasledujúceho príkazu: nano file2
-
Zadajte text do editora nano
-
Stlačením klávesov CTRL a O uložte súbor
-
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 mala jedna zelená fľaša náhodne spadnúť
<Na stene by stálo 9 zelených fliaš
…
> 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é:
- Druhý súbor má iba tri riadky, zatiaľ čo prvý súbor má 4.
- Druhý súbor hovorí "1 zelená fľaša" na treťom riadku, zatiaľ čo prvý súbor hovorí "jedna zelená fľaša"
- V druhom súbore sa hovorí, že "tam by" namiesto "tam by" na poslednom riadku
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 odstránený, 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:
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:
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:
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:
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:
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.










