Linux parancsok

diff Parancspéldák Linuxon

diff Parancspéldák Linuxon
A diff parancs egy elemző vagy informatív parancs, amely kinyomtatja a fájlok közötti különbségeket, soronként elemezve azokat, vagy a könyvtárakat rekurzív módon, miközben tájékoztatja a felhasználót arról, hogy milyen változtatások szükségesek a fájlok egyenlőségéhez. Ez az oktatóanyag a diff parancsra összpontosít.

Indítás előtt hozzon létre két fájlt bármilyen szövegszerkesztővel (ebben az oktatóprogramban nano-t használnak), azonos tartalommal:

# nano diffsample1

Belső paszta:

 A LinuxHint közzéteszi az Ön számára a legjobb tartalmat 

nyomja meg CTRL+x és Y a mentéshez és a kilépéshez.

Hozzon létre egy második, diffsample2 nevű fájlt ugyanazzal a tartalommal:

# nano diffsample2

Jegyzet: figyeljen a szóközökre és a fülekre, a fájloknak 100% -ban meg kell egyezniük.

nyomja meg CTRL+x és Y mentéshez és kilépéshez.

# diff diffsample1 diffsample2

Amint láthatja, nincs kimenet, nem kell tennünk valamit azért, hogy a fájlok egyenlőek legyenek, mert azok már egyenlőek.

Most szerkesztheti a diffsample2 fájlt, hogy változtasson rajta:

# nano diffsample2

Akkor cseréljük le a „tartalom” szót a „tippekre”:

nyomja meg CTRL+x és Y hogy mentse és kilépjen.

Most fuss:

# diff diffsample1 diffsample2

Lássuk a kimenetet:

A fenti kimenet, a „3c3” azt jelenti, hogy „az első fájl 3. sorát ki kell cserélni a második fájl 3. sorára”. A kimenet barátságos része, hogy megmutatja, milyen szöveget kell megváltoztatni (“tartalom az Ön számáratippek az Ön számára”)

Ez megmutatja, hogy a diff parancs hivatkozása nem az első, hanem a második fájl, ezért az első fájl harmadik sorát (az első 3-at) meg kell változtatni (C), mint a második fájl harmadik sorát (második 3).

A parancs diff 3 karaktert mutathat:

c: ez a karakter utasítja a változás meg kell csinálni.
a: ez a karakter utasítja, hogy valaminek lennie kell Hozzáadva.
d: ez a karakter utasítja, hogy valaminek lennie kell Törölve.

A karakterek előtti első számok az első fájlhoz, míg a karakterek utáni számok a második fájlhoz tartoznak.

A szimbólum < belongs to the first file and the symbol > a hivatkozásként használt második fájlra.

Futtatás helyett fordítsuk meg a fájlok sorrendjét

# diff diffsample1 diffsample2

fuss:

# diff diffsample2 diffsample1

Láthatja, hogy a sorrend hogyan fordult meg, és most a diffsample1 fájlt használják referenciaként, és arra utasít minket, hogy változtassuk meg a „tippek az Ön számára” kifejezést a „tartalom az Ön számára” kifejezésre, ez volt az előző kimenet:

Most szerkesszük a diffsample1 fájlt így:

Távolítson el minden sort, kivéve az első sort a diffsample1 fájlban. Ezután futtassa:

# diff diffsample2 diffsample1

Mint láthatja, mivel a diffsample1 fájlt használtuk referenciaként, annak érdekében, hogy a diffsample2 fájl pontosan egyenlő legyen, törölnünk kell (d) második és harmadik sor (2,3), mint az első fájlban és az első sorokban (1) egyenlő lesz.

Most megengedi a sorrend megfordítását és futtatás helyett# diff diffsample2 diffsample1 " fuss:

# diff diffsample1 diffsample2

Amint láthatja, míg az előző példa arra utasított minket, hogy távolítsuk el, ez az utasít minket a (a) 2. és 3. sor az első fájl első sora után (1).

Most dolgozzunk a program kis- és nagybetûs tulajdonságával.

Szerkessze a diffsample2 fájlt:

És szerkessze a diffsample1 fájlt a következőképpen:

Az egyetlen különbség a diffsample2 fájl nagybetűi. Most ismét összehasonlíthatjuk a diff segítségével:

# diff diffsample1 diffsample2

Amint láthatja a diff talált eltéréseket, a nagybetûket, kerüljük a diff nagybetûk észlelését, ha nem érdekel a kis- és nagybetû, a -én választási lehetőség:

# diff -i diffsample1 diffsample2

Nem találtak különbséget, az esetfelismerést letiltották.

Most változtassuk meg a kimeneti formátumot az opció hozzáadásával -u egységes kimenetek nyomtatásához használatos:

Ezenkívül a dátumhoz és az időhöz a kimenet a-val jelenik meg - és + szimbólum, hogy mit kell eltávolítani és mit kell hozzáadni, hogy a fájlok egyenlőek legyenek.

A cikk elején azt mondtam, hogy a szóközöknek és a tabulátoroknak mindkét fájlban egyenlőnek kell lenniük, mivel a diff parancs is érzékeli őket, ha azt akarjuk, hogy a diff parancs figyelmen kívül hagyja a szóközöket és a füleket, akkor a -w választási lehetőség.

Nyissa meg a diffsample2 fájlt, és adjon hozzá szóközöket és lapokat:

Amint látja, a második sorban a „legjobb” után feltettem pár lapot, és az összes sorban szóközt is, zárja be, mentse a fájlt és futtassa:

# diff diffsample1 diffsample2

Amint láthatja, a nagybetűkön kívül különbségeket is találtak. Most alkalmazhatjuk az opciót  -w utasítani a diff-et, hogy hagyja figyelmen kívül az üres helyeket:

Amint látja a táblázatok ellenére, a különbség csak különbségként található meg a nagybetűvel.
Most tegyük hozzá még egyszer az -i opciót:

#diff -wi diffsample2 diffsample1

A diff parancsnak több tucat elérhető opciója van a figyelmen kívül hagyásra, a kimenet megváltoztatására, az oszlopok megkülönböztetésére, ha vannak, stb. Ezekről az opciókról további információkat kaphat a man paranccsal, vagy a http: // man7.org / linux / man-pages / man1 / diff.1.html. Remélem, hasznosnak találta ezt a cikket a diff parancs példákkal Linuxban. Kövesse a LinuxHint alkalmazást, ha további tippeket és frissítéseket szeretne kapni a Linuxról és a hálózatról.

Telepítse a legújabb OpenRA stratégiai játékot az Ubuntu Linux rendszerre
Az OpenRA egy ingyenes / ingyenes valós idejű stratégiai játékmotor, amely újjáépíti a korai Westwood játékokat, mint például a klasszikus Command & C...
Telepítse a legújabb Dolphin Emulator for Gamecube & Wii szoftvert Linuxra
A Dolphin Emulator segítségével a kiválasztott Gamecube & Wii játékokat játszhatja Linux személyi számítógépeken (PC). Mivel a Dolphin Emulator szaba...
A GameConqueror Cheat Engine használata Linux alatt
A cikk tartalmaz egy útmutatót a GameConqueror csaló motor Linux alatt történő használatáról. Sok olyan felhasználó, aki Windows-on játszik játékot, g...