Kaip palyginti du tekstinius failus naudojant Linux

Š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ų:

  1. Atidarykite failą, įvesdami šią komandą: nano file1
  2. Įveskite tekstą nano redaktoriuje
  3. Norėdami išsaugoti failą, paspauskite CTRL ir O
  4. 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ų:

  1. Atidarykite failą, įvesdami šią komandą: nano file2
  2. Įveskite tekstą nano redaktoriuje
  3. Norėdami išsaugoti failą, paspauskite CTRL ir O
  4. 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čiausias komandų diff tipas yra toks:

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 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:

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ų, 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ą:

diff -i file1 file2

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ą:

diff -Z file1 file2

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ą:

diff -w file1 file2

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ą:

diff -B failas1 failas2

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ą.