Hogyan lehet összehasonlítani két szöveges fájlt a Linux használatával?

Ez az útmutató megmutatja, hogyan használhatja a Linuxot két fájl összehasonlítására és a különbség megjelenítésére a képernyőre vagy egy fájlra.

Nem kell speciális szoftvereket telepíteni ahhoz, hogy összehasonlíthassa a fájlokat a Linux használatával, de tudnia kell, hogyan lehet megnyitni egy terminál ablakot .

A hivatkozott útmutató azt mutatja, hogy sokféleképpen lehet megnyitni a terminál ablakot Linux alatt. A legegyszerűbb a CTRL, ALT és T gombok egyidejű megnyomása.

A fájlok összehasonlítása

Ennek az útmutatónak a követése érdekében hozzon létre egy "file1" nevű fájlt, és írja be a következő szöveget:

10 zöld palack álló a falon

10 zöld palack álló a falon

Ha egy zöld palack véletlenül esik

A falon 9 zöld palack lenne

Létrehozhat egy fájlt az alábbi utasítások követésével:

  1. Nyissa meg a fájlt a következő parancs beírásával: nano file1
  2. Írja be a szöveget a nano szerkesztőbe
  3. Nyomja meg a CTRL és az O gombot a fájl mentéséhez
  4. Nyomja meg a CTRL és X gombot a fájlból való kilépéshez

Most hozzon létre egy másik fájlt "file2" -nek, és írja be a következő szöveget:

10 zöld palack álló a falon

Ha az 1 zöld palack véletlenül esik

9 zöld palack állna a falon

Létrehozhat egy fájlt az alábbi utasítások követésével:

  1. Nyissa meg a fájlt a következő paranccsal: nano file2
  2. Írja be a szöveget a nano szerkesztőbe
  3. Nyomja meg a CTRL és az O gombot a fájl mentéséhez
  4. Nyomja meg a CTRL és X gombot a fájlból való kilépéshez

Két fájl összehasonlítása a Linux használatával

A Linux alatt használt parancs a 2 fájl közötti különbségeket a diff parancsnak nevezik.

A diff parancs legegyszerűbb formája a következő:

diff fájl1 fájl2

Ha a fájlok megegyeznek, akkor a parancs használatakor nem lesz kimenet, azonban különbségek vannak a következő hasonló kimenetekkel:

2,4c2,3

<10 zöld palack a falon állva

<9 zöld palack állna a falon

...

> Ha az 1 zöld palack véletlenül esik

> 9 zöld palack állna a falon

Kezdetben a kimenet zavarónak tűnhet, de ha egyszer megértette a terminológiát, akkor meglehetősen logikus.

A saját szemével láthatod, hogy a két fájl közötti különbségek a következők:

A diff parancs kimenete azt mutatja, hogy az első fájl 2. és 4. sorai, valamint a második fájl 2. és 3. sorai között vannak különbségek.

Ezután felsorolja a 2-4-es sorokat az első fájlból, majd a második fájl két különböző sorát.

Hogyan mutasd csak, ha a fájlok eltérőek

Ha csak azt szeretné tudni, hogy a fájlok eltérőek-e, és nem érdekli, hogy mely sorok különböznek, akkor futtathatja a következő parancsot:

diff -q fájl1 fájl2

Ha a fájlok eltérőek, akkor a következők jelennek meg:

A fájlok 1 és 2 fájlai különböznek egymástól

Ha a fájlok megegyeznek, akkor semmi sem jelenik meg.

Üzenet megjelenítése Ha a fájlok ugyanazok

Ha olyan parancsot futtat, amelyről tudni szeretné, hogy megfelelően működik, úgy szeretné, hogy a diff parancs futtatásakor üzenet jelenjen meg, függetlenül attól, hogy a fájlok azonosak vagy különbözőek-e

Ennek a követelménynek az eléréséhez a diff parancs használatával a következő parancsot használhatja :.

diff -s fájl1 fájl2

Most, ha a fájlok megegyeznek, megkapja a következő üzenetet:

A fájlok1 és file2 azonosak

Hogyan készítsük el a különbségeket egymás mellett

Ha sok különbség van, akkor nagyon gyorsan zavarba jöhet, hogy mi a különbség valójában a két fájl között.

Megváltoztathatja a diff parancs kimenetét úgy, hogy az eredmények egymás mellett jelenjenek meg. Ehhez futtassa a következő parancsot:

diff -y fájl1 fájl2

A fájl kimenete a | -ot használja szimbólum, hogy különbséget tegyen a két sor között, a egy hozzáillő vonal megjelenítéséhez.

Érdekes, ha a parancsot a demonstrációs fájlok segítségével futtatjuk, akkor az összes sor másként fog megjelenni, kivéve a legutolsó 2-es sorát, amely a törölt formában jelenik meg.

Az oszlop szélességének korlátozása

Két fájl egymás melletti összehasonlításánál nehéz elolvasni, ha a fájlok sok szöveget tartalmaznak.

Több oszlop korlátozásához használja a következő parancsot:

diff --width = 5 fájl fájl2

Hogyan lehet figyelmen kívül hagyni a különbségeket a fájlok összehasonlításakor?

Ha két fájlt szeretne összehasonlítani, de nem érdekli, hogy a betűk esete megegyezik-e a két fájl között, akkor a következő parancsot használhatja:

diff -i fájl1 fájl2

Hogyan lehet figyelmen kívül hagyni a fehér várost a vonal végén?

Ha a fájlok összehasonlításakor nagy különbségeket észlel, és a különbségeket a vonalak végén lévő fehér terület okozza, akkor ezeket a változásokat a következő parancs futtatásával el lehet hagyni:

diff -Z fájl1 fájl2

Hogyan lehet figyelmen kívül hagyni az összes fehér szóköz különbséget két fájl között?

Ha csak egy fájlban lévő szöveg érdekel, és nem érdekli, hogy van-e több szóköz a másiknál, akkor a következő parancsot használhatja:

diff -w fájl1 fájl2

Hogyan lehet figyelmen kívül hagyni az üres sorokat összehasonlítva két fájl

Ha nem törődsz vele, hogy az egyik fájlban extra üres sorok vannak, akkor a következő parancs segítségével hasonlíthatja össze a fájlokat:

diff -B fájl1 fájl2

összefoglalás

További információkat találhat a diff utasítás parancsára.

ember diff

A diff parancs a legegyszerűbb formában használható, hogy csak megmutassa a két fájl közötti különbségeket, de használhatod is egy diff fájlt a patch patch stratégia részeként, amint azt a Linux patch parancs útmutatója mutatja.

Egy másik parancs, amellyel összehasonlíthatja a fájlokat, a cmp parancs, amint ezt az útmutató mutatja . Ez összehasonlítja a fájl byte-ot byte-ot.