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:
-
Nyissa meg a fájlt a következő parancs beírásával: nano file1
-
Írja be a szöveget a nano szerkesztőbe
-
Nyomja meg a CTRL és az O gombot a fájl mentéséhez
-
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:
-
Nyissa meg a fájlt a következő paranccsal: nano file2
-
Írja be a szöveget a nano szerkesztőbe
-
Nyomja meg a CTRL és az O gombot a fájl mentéséhez
-
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
<Ha egy zöld palack véletlenül esik
<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 második fájl csak három sorral rendelkezik, míg az első fájlnak 4-e.
- A második fájlban a "1 zöld palack" szerepel a harmadik sorban, míg az első fájl "egy zöld palackot" mond,
- A második fájl azt mondja, hogy "ott lenne" ahelyett, hogy "ott lenne" az utolsó sorban
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:
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 eltávolított vonal megjelenítéséhez és egy> 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:
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:
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:
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:
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:
ö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.