Linux Diff komanda

Linux Diff Komanda



Skirtumas greičiausiai yra sąvoka ar jausmas, galintis atskirti vieną dalyką nuo kito. Komanda „diff“ nurodo variaciją. Analizuodamas dokumentus eilutę po eilutės, šis įrankis parodo failų skirtumus. Ji informuoja mus, kurias vieno dokumento dalis reikia pakeisti, kad dokumentai būtų panašūs, skirtingai nei jo papildomi elementai cmp ir comm. Svarbiausias aspektas, kurį reikia nepamiršti, yra tai, kad norint, kad dokumentai būtų panašūs, diff naudoja specifinius specialius simbolius ir komandas. Jums pateikiami nurodymai, kaip pakeisti pirmąjį dokumentą, kad jis atitiktų kitą dokumentą. Šiame vadove aptarsime „diff“ komandos naudojimą Ubuntu 20.04 naudojant „Linux“ terminalą.

Mes sukūrėme du tekstinius failus mūsų sistemos darbiniame aplanke.









Atėjo laikas naudoti „diff“ nurodymą užklausos srityje, kad būtų parodytas abiejų failų turinio skirtumas. Išbandome šią „diff“ instrukciją su abiejų failų pavadinimais iš eilės, t. y. pirmiausia vienas.txt, o tada failas two.txt. Komandos „diff“ vykdymas parodo skirtumą tarp abiejų failų:



  • Eilučių numeriai pagal pirmąjį tekstinį failą.
  • Specialūs simboliai / simboliai, pranešantys mums apie skirtumą, pvz., pakeisti, pridėti, ištrinti.
  • Eilučių numeriai pagal antrąjį tekstinį failą.

Pirmoje iliustracijoje mes išsamiai aprašome simbolį „a“ tarp „diff“ komandos išvesties eilučių numerių; „a“ naudojamas kaip „Pridėti“ santrumpa. Kai užklausos srityje naudojate komandą „katė“ su abiem failų pavadinimais, kiekvieno tekstinio failo turinys rodomas atskirai, t. y. one.txt ir two.txt. Pirmajame faile iš viso yra 4 eilutės, o antrajame faile yra 5 eilutės. 1 eilutė yra papildoma.





Tada bandome „diff“ instrukciją terminalo užklausos srityje, po kurios nurodomi failų pavadinimai – one.txt ir two.txt. Vykdant šią instrukciją kaip išvestis rodoma „0a1“ kartu su 1 eilute iš antrojo failo, kuri yra papildoma eilutė antrame faile. Skaitinė reikšmė „0“ naudojama pirmojo failo 0 eilutėje arba prieš 1 eilutę, ty one.txt. Simbolis „a“ reiškia „pridėti“. Galiausiai skaitinė reikšmė „1“ reiškia pirmąją antrojo failo eilutę. Mišinio išvestis „0d1“ reiškia, kad antrojo failo „two.txt“ 1 eilutė turi būti įtraukta į pirmojo failo „one.txt“ viršuje, prieš tai, kai pirmoji eilutė dviem padaro abu failus vienodus.



Dabar atnaujiname abu failus, kad pamatytume kitą iliustraciją. Pirmajame faile „one.txt“ yra 4 eilutės, o antrajame faile „two.txt“ yra tik 3 eilutės. Vienintelis šių failų skirtumas yra tai, kad pirmame faile naudojama papildoma eilutė, t. y. 1 eilutė = „pirmadienis“, kurios nėra antrame faile. Išbandę atnaujintų tekstinių failų „diff“ instrukciją, kaip išvestį gauname „1d0“. Ir rodoma pirmoji eilutė iš pirmojo failo. „1d0“ 1 reiškia, kad pirmoji eilutė iš failo „one.txt“ turi būti ištrinta (kaip simbolis „d“), o 0 reiškia, kad antrasis failas nebuvo atnaujintas. Pabaigoje rodoma 1 eilutė iš pirmojo failo „one.txt“, kad būtų aiškus skirtumas.

Panašiai komanda „diff“ gali parodyti skirtumą tarp dviejų failų eilučių. Todėl abu tekstinius failus atnaujiname dar kartą. Šį kartą pirmame faile yra 5 eilutės, o antrajame – tik 4. Vienintelis skirtumas yra tai, kad faile one.txt naudojama papildoma eilutė, kuri yra 3 eilutė. Abiejuose terminalo failuose naudojama skirtumo komanda rodo išvesties „3d2“ kartu su 3 eilute iš pirmojo failo „one.txt“. Ši išvestis rodo, kad 3 eilutė iš pirmojo failo 'one.txt' turi būti ištrinta, kad galėtume sinchronizuoti abu failus antrojo failo 2 eilutėje. Rodoma skirtinga eilutė „3“, kad galėtume aiškiai suprasti skirtumą.

Pažvelkime į išvestį aiškiai ir giliau. 1,5c1,2 išvestis iš šio paveikslėlio rodo, kad pirmojo failo (one.txt) eilutės nuo 1 iki 5 turi būti pakeistos antrojo failo (two.txt) nuo 1 iki 2 eilutėmis. Tai reiškia, kad pirmosios 5 failo one.txt eilutės (nuo 1 iki 5) turi būti pakeistos ir pakeistos pirmomis dviem antrojo failo „two.txt“ eilutėmis (1, 2), kad jis būtų toks pat. Pabaigoje rodomos visos 5 pirmojo failo eilutės, kurios turėtų būti pakeistos 2 rodomomis antrojo failo eilutėmis. Taip simbolis „c“ nurodo skirtumą tarp dviejų failų – nė viena eilutė nėra vienoda abiejuose failuose.

Komanda „diff“ leidžia gauti jos išvestį konteksto forma. Įsivaizduokite, kad šiuose failuose turite tuos pačius du failus su šiais duomenimis. Išvesties kontekstas būtų parodyti pagrindinį skirtumą tarp visų paprastų failų, kurie rodomi kitame paveikslėlyje. Dabar turime 5 eilutes pirmame faile 'one.txt' ir 4 eilutes antrajame faile 'two.txt'.

Norėdami gauti kontekstu pagrįstą „diff“ instrukcijos išvestį, komandoje „diff“ turime naudoti parinktį „-c“. Naudodami anksčiau atnaujintus failus šioje komandoje „diff“, gauname tokią išvestį – datą, dieną, kartu su papildoma informacija apie teksto kūrimą failuose. Rodomos 5 eilutės iš one.txt failų. Visų pirma, jos trečioji eilutė paryškinta naudojant „-“ simbolį, kad tik pridėtumėte ją prie kito failo.

Išvada

Mes bandėme trumpai paaiškinti viską apie 'diff' instrukciją. Tam kiekvieną kartą atnaujinome savo tekstinius failus ir gavome atnaujintą išvestį, skirtą failo duomenims pridėti, pašalinti ir keisti. Įvade paaiškinta „diff“ komandos naudojimo Linux sistemoje tikslas ir kaip ją naudoti Linux.