Šiame vadove bus parodyti, kaip naudoti "Linux", kad palygintų du failus ir išvedė skirtumus į ekraną arba į failą.
Norint palyginti failus naudodami "Linux", nereikia įdiegti specialios programinės įrangos, bet jums reikia žinoti, kaip atidaryti terminalo langą.
Kaip susietas vadovas rodo, yra daug būdų atidaryti terminalo langą naudojant Linux. Paprasčiausia yra tuo pačiu metu paspausti CTRL, ALT ir T klavišus.
Palyginti failai
Norėdami sekti kartu su šiuo vadovu, sukurkite failą "file1" ir įveskite šį tekstą:
10 žali buteliai, stovintys ant sienos
10 žali buteliai, stovintys ant sienos
Jei atsitiktinai sumažėtų vienas žalias butelis
Ant sienos stovi 9 žali buteliai
Galite sukurti failą, laikydamiesi šių instrukcijų:
-
Atidarykite failą, įvesdami šią komandą: nano file1
-
Įveskite tekstą nano redaktoriuje
-
Norėdami išsaugoti failą, paspauskite CTRL ir O
-
Paspauskite CTRL ir X, kad išeitumėte iš failo
Dabar sukurkite kitą failą, vadinamą "file2", ir įveskite šį tekstą:
10 žali buteliai, stovintys ant sienos
Jei atsitiktinai sumažėtų 1 žalias butelis
Ten bus 9 žaliąsias butelius, stovinčius ant sienos
Galite sukurti failą, laikydamiesi šių instrukcijų:
-
Atidarykite failą, įvesdami šią komandą: nano file2
-
Įveskite tekstą nano redaktoriuje
-
Norėdami išsaugoti failą, paspauskite CTRL ir O
-
Paspauskite CTRL ir X, kad išeitumėte iš failo
Kaip palyginti du failus naudojant Linux
Linux komandoje naudojama komanda parodo dviejų failų skirtumus vadinama "diff" komanda.
Paprasčiausia komanda "diff" forma yra tokia:
diff file1 file2
Jei failai yra vienodi, tai naudojant šią komandą nebus išvesties, tačiau, kadangi yra skirtumų, pamatysite produkciją, panašią į šią:
2,4c2,3
<10 žali buteliai, stovintys ant sienos
<Jei atsitiktinai sumažėtų vienas žalias butelis
<Ant sienos stovi 9 žali buteliai
…
> Jei 1 žalias butelis netyčia nukrito
> Ant sienos stovi 9 žalias buteliukas
Iš pradžių išvestis gali pasirodyti klaidinanti, bet kai jūs suprantate terminiją, ji yra gana logiška.
Savo akimis galite pamatyti, kad skirtumai tarp 2 failų yra tokie:
- Antrasis failas turi tik tris eilutes, o pirmąjį failą sudaro 4.
- Antrame faile trečioje eilutėje rašoma "1 žalias butelis", o pirmasis failas sako "vienas žalias butelis"
- Antrasis failas sako "ten", o ne "ten" būtų galutinėje eilutėje
Iš "diff" komandos rezultatų matyti, kad tarp pirmojo failo 2 ir 4 eilučių ir antrojo failo 2 ir 3 eilučių yra skirtumų.
Tada jis išvardija linijas nuo 2 iki 4 iš pirmojo failo, po kurio antroje byloje yra 2 skirtingos eilutės.
Kaip tiesiog parodyti, ar failai skiriasi
Jei tiesiog norite sužinoti, ar failai yra skirtingi, ir jus domina, kurios eilutės yra skirtingos, galite paleisti šią komandą:
diff -q file1 file2
Jei failai yra skirtingi, bus parodyta:
Failai file1 ir file2 skiriasi
Jei failai yra vienodi, niekas nerodomas.
Kaip rodyti pranešimą, jei failai yra vienodi
Kai paleisite komandą, jūs norite žinoti, kad ji tinkamai veikė, todėl norite, kad pranešimas būtų rodomas vykdant komandą diff, nepriklausomai nuo to, ar failai yra vienodi ar skirtingi
Norėdami pasiekti šį reikalavimą naudodami komandą diff, galite naudoti šią komandą :.
DIF-failas1 failas2
Dabar, jei failai yra tokie patys, gausite šį pranešimą:
Failai file1 ir file2 yra vienodi
Kaip atskirti pusiausvyrą
Jei yra daug skirtumų, labai greitai gali būti painiojama, kokie skirtumai iš tikrųjų yra tarp dviejų failų.
Jūs galite pakeisti komandą diff komandų išvesties, kad rezultatai būtų rodomi šalia kito. Norėdami tai padaryti, paleiskite šią komandą:
diff -y file1 file2
Failo išvestis naudoja | simbolis, rodantis skirtumą tarp dviejų eilučių, <jei norite parodyti pašalintą eilutę ir a> rodyti pridėtą eilutę.
Įdomu tai, kad paleisdami komandą naudodami demonstracinius failus, visos eilutės bus kitokios, išskyrus paskutinę 2 eilutės eilutę, kuri bus rodoma kaip ištrinta.
Apribojimo stulpelių plotis
Lyginant du šalia esančius failus, gali būti sunku perskaityti, jei rinkmenose yra daug teksto stulpelių.
Norėdami apriboti kelis stulpelius, naudokite šią komandą:
diff --width = 5 failų failas2
Kaip ignoruoti bylų skirtumus lyginant failus
Jei norite palyginti du failus, tačiau jums nereikia rūpintis, ar dviejų bylų raidės yra vienodos, tada galite naudoti šią komandą:
Kaip ignoruoti bėgančią erdvę linijos pabaigoje
Jei lyginant failus pastebėjote, kad yra daug skirtumų, o skirtumų priežastis yra linijų gale esanti balta erdvė, galite praleisti tokius pakeitimus, rodydami pakeitimus atlikdami šią komandą:
Kaip ignoruoti visus baltos erdvės skirtumus tarp dviejų failų
Jei jus domina tik failo tekstas ir jums nesvarbu, ar vienoje vietoje yra daugiau tarpų, galite naudoti šią komandą:
Kaip ignoruoti tuščias eilutes palygindami du failus
Jei nesvarbu, kad viename faile gali būti papildomų tuščių eilučių, tuomet galite palyginti failus naudodami šią komandą:
Santrauka
Daugiau informacijos rasite, skaitydami instrukcijas, skirtas komandai diff.
žmogus dif
"Diff" komandą galima naudoti paprasčiausia forma, kad tik parodyti skirtumus tarp dviejų failų, bet jūs taip pat galite naudoti jį, norėdami sukurti "diff" failą kaip patchinimo strategijos dalį, kaip parodyta šiame "Linux patch" komandos vadove.
Kita komanda, kurią galite naudoti palyginti failus, yra cmp komanda, kaip parodyta šiame vadove. Tai palygina failų baitą pagal baitą.