Kā salīdzināt divus teksta failus, izmantojot Linux

Šī rokasgrāmata parādīs, kā izmantot Linux, lai salīdzinātu divus failus un izvadītu to atšķirību ekrānā vai failā.

Lai salīdzinātu failus, izmantojot Linux, jums nav nepieciešams instalēt īpašu programmatūru, bet jums ir jāzina, kā atvērt termināla logu .

Kā norādīts saistītajā ceļvedī, ir daudz iespēju, kā atvērt termināla logu, izmantojot Linux. Vienkāršākais ir nospiest taustiņus CTRL, ALT un T vienlaikus.

Failu salīdzināšana

Lai sekotu kopā ar šo ceļvedi, izveidojiet failu ar nosaukumu "file1" un ievadiet šādu tekstu:

10 zaļas pudeles, kas stāv uz sienas

10 zaļas pudeles, kas stāv uz sienas

Ja kādai zaļai pudelei nejauši jāmirst

Uz sienas stāvētu 9 zaļās pudeles

Jūs varat izveidot failu, izpildot šos norādījumus:

  1. Atveriet failu, ierakstot šo komandu: nano file1
  2. Ierakstiet tekstu nano redaktorā
  3. Nospiediet CTRL un O, lai failu saglabātu
  4. Nospiediet CTRL un X, lai izietu no faila

Tagad izveidojiet citu failu ar nosaukumu "file2" un ievadiet šādu tekstu:

10 zaļas pudeles, kas stāv uz sienas

Ja 1 zaļo pudeli nejauši nokrist

Uz sienas stāvētu 9 zaļās pudeles

Jūs varat izveidot failu, izpildot šos norādījumus:

  1. Atveriet failu, ierakstot šo komandu: nano file2
  2. Ierakstiet tekstu nano redaktorā
  3. Nospiediet CTRL un O, lai failu saglabātu
  4. Nospiediet CTRL un X, lai izietu no faila

Kā salīdzināt divus failus, izmantojot Linux

Linux komanda, kas parāda atšķirības starp diviem failiem, tiek saukta par komandu diff.

Vienkāršākā komandas diff forma ir šāda:

diff file1 file2

Ja faili ir vienādi, tad, izmantojot šo komandu, nebūs izvades, tomēr, tā kā pastāv atšķirības, jūs redzēsit izlaidi, kas ir līdzīga šādai:

2,4c2,3

<10 zaļās pudeles, kas stāv uz sienas

...

> Ja 1 zaļo pudeli nejauši nokrist

> Uz sienas būtu 9 zaļās pudeles

Sākotnēji izlaide var šķist mulsinoša, bet, tiklīdz jūs saprotat terminoloģiju, tā ir diezgan loģiska.

Izmantojot savas acis, jūs varat redzēt, ka atšķirības starp diviem failiem ir šādas:

Rezultāts no komandas diff norāda, ka starp pirmā faila 2 un 4 rindiņām un otrā faila 2. un 3. rindiņu ir atšķirības.

Pēc tam tiek uzskaitītas līnijas no 2 līdz 4 no pirmā faila, kam seko 2 dažādas rindiņas otrajā failā.

Kā vienkārši parādīt, ja faili atšķiras

Ja jūs vienkārši vēlaties uzzināt, vai faili ir atšķirīgi, un jūs neinteresē, kuras līnijas ir atšķirīgas, varat palaist šādu komandu:

diff -q file1 file2

Ja faili ir atšķirīgi, tiks parādīts:

Faili file1 un file2 atšķiras

Ja faili ir vienādi, nekas netiek rādīts.

Kā parādīt ziņojumu, ja faili ir vienādi

Kad palaižat komandu, kuru vēlaties uzzināt, ka tā ir pareizi strādājusi, jūs vēlaties, lai parādās ziņojums, kad palaižat diff komandu neatkarīgi no tā, vai faili ir vienādi vai atšķirīgi

Lai sasniegtu šo prasību, izmantojot komandu diff, varat izmantot šādu komandu :.

diff -s file1 file2

Tagad, ja faili ir vienādi, jūs saņemsit šādu ziņojumu:

Faili file1 un file2 ir identiski

Kā produkciju atšķirības pāri blakus

Ja ir daudz atšķirību, tas ļoti ātri var radīt neskaidrības par faktiskajām atšķirībām starp diviem failiem.

Varat mainīt diff komandas izvadi tā, lai rezultāti būtu redzami blakus. Lai to izdarītu, izpildiet šādu komandu:

diff -y file1 file2

Faila izvadei tiek izmantota | simbols, lai parādītu starpību starp abām līnijām, , lai parādītu pievienoto līniju.

Interesanti, ka, palaižot komandu, izmantojot mūsu demonstrācijas failus, visas rindiņas tiek rādītas atšķirīgas, izņemot pēdējo faila rindu 2, kas tiks parādīts kā izdzēsts.

Kolonnu platuma ierobežošana

Salīdzinot divus failus blakus tiem, var būt grūti nolasīt, ja failos ir daudz teksta sleju.

Lai ierobežotu vairākas slejas, izmantojiet šādu komandu:

diff - width = 5 faila fails2

Kā ignorēt lietu atšķirības, salīdzinot failus

Ja vēlaties salīdzināt divus failus, taču jums nav nozīmes, vai abu failu burtu lieta ir vienāda, tad varat izmantot šādu komandu:

diff -i file1 file2

Kā ignorēt aizmugurējo atstarpi līnijas beigās

Ja, salīdzinot failus, jūs pamanāt dažādu atšķirību skaitu un atšķirības ir saistītas ar atstarpēm līniju beigās, varat tos izlaist kā parādīšanos kā izmaiņas, palaižot šādu komandu:

diff -Z file1 file2

Kā ignorēt visas atstarpes starp diviem failiem

Ja jūs interesē tikai teksts failā un jums nav jāuztraucas par to, vai tajā ir vairāk atstarpes nekā citā, varat izmantot šādu komandu:

diff -w file1 file2

Kā ignorēt tukšās līnijas, salīdzinot divus failus

Ja jums nav aprūpes, ka vienā failā var būt papildu tukšas rindiņas, tad jūs varat salīdzināt failus, izmantojot šo komandu:

diff -B file1 file2

Kopsavilkums

Jūs varat atrast plašāku informāciju, lasot rokasgrāmatu diff komandai.

cilvēks dif

Komandu diff var izmantot visvienkāršākajā veidā, lai parādītu atšķirības starp diviem failiem, taču to var izmantot arī, lai izveidotu diff failu kā daļu no ielādes stratēģijas, kā tas parādīts šajā Linux palaišanas komandas ceļvedī .

Vēl viena komanda, ko varat izmantot failu salīdzināšanai, ir cmp komanda, kā parādīts šajā rokasgrāmatā . Tas salīdzina failu baitus ar baitu.