Kā salīdzināt divus failus Linux

How Compare Two Files Linux



Ja vēlaties salīdzināt divus failus un atšifrēt atšķirību, tiek izsaukta komanda dif tiek izmantots. Šī rokasgrāmata ir vērsta uz to, lai sniegtu jums iespēju izmantot dif komandu ar dažādām iespējām, lai iegūtu atšķirību starp diviem failiem.

Tātad, kā tas notiek dif komanda faktiski darbojas? The dif komanda salīdzina abus failus un izvada abu failu atšķirību sarakstu. Precīzāk, tas dod sarakstu ar izmaiņām, kas jāveic pirmajā failā, lai tas atbilstu otrajam failam. The dif komandu izmanto arī programmētāji, lai iegūtu atšķirību starp diviem avota koda failiem, lai izstrādātu ielāpus.







Pirms iedziļināties piemēros, ņemiet vērā, ka failu secība ir ļoti svarīga. Tāpēc ka dif komanda dod izvadi, pamatojoties uz failu secību.



Kā izmantot diff komandu Linux, lai salīdzinātu failus:

Sintakse dif komanda ir minēta zemāk:



$dif [iespējas] [fails1] [fails2]

Vispirms izveidojiet divus failus. Es veidoju teksta failus ar nosaukumu testa_fails_1.txt un testa_fails_2.txt . Šajos failos ir saturs ar nelielu atšķirību:





Tagad izmantojiet šo komandu, lai iegūtu atšķirību:



$diftest_file_1.txt test_file_2.txt

Standarta izvade parādīja rindas, kas atbilst komandā minēto failu secībai. Tātad, dekodēsim izvadi:

Failu salīdzinājums ir marķēts, un katrai etiķetei ir numurs katrā pusē. Formāts ir šāds:

[Faila 1. rindas numurs] [Iezīme (a, c, d)] [2. faila rindas numurs]

Ir trīs etiķetes:

  • uz - Pievienot: pievienojiet saturu pirmajā failā, lai sinhronizētu ar otro failu.
  • c - Mainīt: norāda, ka pirmā faila saturā ir jāveic izmaiņas, lai tas atbilstu otrajam failam.
  • d - Dzēst: noņemiet saturu no pirmā faila, lai tas atbilstu otrajam.

2d1 norāda dzēst pirmā faila 2. rindas numuru, lai tas atbilstu otrajam failam no 1. rindas.

Līdzīgi, 4c3 nozīmē veikt izmaiņas pirmā faila ceturtajā rindā, lai tā atbilstu otrā faila 3. rindai, jo abas rindas ir nedaudz atšķirīgas.

Ir vēl viena metode, lai redzētu atšķirību, izmantojiet dif komandu ar -un iespēja:

$dif -un -IN 60test_file_1.txt test_file_2.txt

Iepriekš minētajā produkcijā saturs testa_fails_1.txt ir redzams kreisajā pusē, bet saturs text_file_2.txt tiek parādīts labajā pusē. Atšķirību norāda simboli:

  • | - Otrajā failā rindiņa ir atšķirīga
  • > - Otrajā failā rindiņa ir papildu
  • <— Line has been deleted from the second file

-W norāda platumu starp divu failu saturu. Lai iegūtu atsevišķi un apskatītu atšķirību, izmantojiet tālāk norādītās darbības.

$dif -un -IN 60 -apspiest kopējās līnijastest_file_1.txt test_file_2.txt

Kā iegūt izvadi vienā rindā, izmantojot komandu Dif:

Ja marķēto metodi jums ir grūti atšifrēt, tad ir vienkāršāka pieeja. Izmantojot -q iespēja ar dif komanda dod jums izvadi vienā rindā. Tomēr bez papildu informācijas:

$dif -qtest_file_1.txt test_file_2.txt

Ja faili atšķiras, tad iepriekš minētā komanda dos rezultātu. Ja faili ir identiski, izvades nebūs. Lai to pierādītu, es izveidoju kopiju testa_fails_1.txt izmantojot:

$cptest_file_1.txt test_file_3.txt

Tiks izveidots jauns fails ar nosaukumu testa_fails_3.txt satur tādu pašu saturu kā tas testa_fails_1.txt ir. Tagad izmantojiet:

$dif -qtest_file_1.txt test_file_2.txt

Tā kā abiem failiem ir līdzīgs saturs, izvades nebūtu.

Kā pārbaudīt failu atšķirības konteksta režīmā, izmantojot komandu Dif:

Lai iegūtu salīdzinājumu konteksta režīmā, -c opcija tiks izmantota kopā ar dif komanda:

$dif -ctest_file_1.txt test_file_2.txt

Izšķirsim produkciju.

Lai saglabātu atšķirību, pirmo failu kopā ar izveides datumu un laiku norāda ***, bet otro - -.

Nākamā rinda apzīmē līniju diapazonu, kas ņemts vērā salīdzināšanas laikā. Pirmajam failam tas ir *** 1,6 **** un otrajam failam tas ir -1,5—- :

Atšķirību norāda simboli:

  • +: Rindiņa nav pirmajā failā. Ievietojiet to pirmajā failā vai noņemiet no otrā faila, lai tas atbilstu abiem failiem.
  • -: rindiņa pastāv pirmajā failā, bet ne otrajā failā. Mēģiniet to ievietot otrajā failā vai noņemt no pirmā, lai tas atbilstu abiem failiem.
  • ! : Līnija ir jāmaina, lai tā atbilstu.

Kā pārbaudīt failu atšķirības vienotajā režīmā, izmantojot komandu Dif:

Vienotais režīms ir diezgan līdzīgs konteksta režīmam, bet bez liekas informācijas. Mūsu izmantotais karogs ir -u :

$dif -utest_file_1.txt test_file_2.txt

Izvadē pirmo failu apzīmē ar -, bet otro - ar +++. Otrajā rindā tiek parādīts rindu skaits, kas ņemts vērā salīdzināšanai abos failos, pēc tam saturs, kas jāsvītro, jāpievieno vai jāmaina ar simboliem, kas ir ar tiem. Abos failos nebūs simbola ar līdzīgām rindām.

Kā ignorēt reģistrjutību, lietojot komandu diff:

Ja vēlaties salīdzināt failus, vienlaikus ignorējot reģistrjutību, izmantojiet -i karogs:

$dif -itest_file_1.txt test_file_2.txt

Demonstrēšanai es izveidoju D no Deepin pirmajā failā mazs:

Kā redzams pirmajā komandā, atšķirība ir norādīta; lietošanas laikā -i šī atšķirība ir noņemta.

Dažas citas noderīgas iespējas dif komanda ir norādīta zemāk:

Iespēja Apraksts
-uz Šī opcija visus failus uzskata par teksta failiem
-B Tas ignorē izmaiņas, kurās visas rindas ir tukšas
-UN Šī opcija ignorē cilnes paplašināšanu
-Es Tas ignorē izmaiņas, kurās visas rindas sakrīt
-s Sniedz izvadi, ja divi faili ir identiski
-iekšā Tas ignorē visu balto telpu
-AR Tas ignorē atstarpi līnijas beigās

Kā izmantot Vim redaktoru, lai salīdzinātu divus failus:

Vēl viena metode divu failu salīdzināšanai ir vimdiff komandu. Lai to izdarītu, jums ir jāinstalē vim:

$sudotrāpīgsuzstādīt ES atnācu

Tagad, lai salīdzinātu divus failus, izmantojiet:

$vimdiff test_file_1.txt test_file_2.txt

Abi faili tiks atvērti blakus. Daļa, kas neatbilst, tiks iezīmēta:

Kā salīdzināt divus failus, izmantojot kolordifu:

Vēl viena pieeja ir sava veida paplašināšana dif komandu. Jūs varat padarīt salīdzinājumu atpazīstamāku, pievienojot tam krāsas. Lai instalētu, izmantojiet:

$sudotrāpīgsuzstādītkolordifa

Lai salīdzinātu failus, izmantojiet:

$colordiff test_file_1.txt test_file_2.txt

Jūs varat nomainīt dif ar kolordifa lai iegūtu standarta produkciju dif komanda krāsainā formātā.

Secinājums:

Lai salīdzinātu failus Linux un pat MacOS, lietoto utilītu sauc par dif. Dif utilīta salīdzina divus failus un sniedz informāciju par atšķirībām starp abiem failiem. Izstrādātāji galvenokārt izmanto komandu diff, lai izveidotu ielāpu failus.

Šajā rokasgrāmatā mēs rūpīgi apspriedām dif komandu un kā to izmantot, lai salīdzinātu divus failus ar dažādām opcijām. Mēs arī iemācījāmies lietot kolordifa lai failu atšķirības būtu atpazīstamākas. Bet, ja jums šķiet, ka ir grūti izmantot termināla utilītu, ir arī daži uz GUI balstīti rīki, piemēram, Kompare, DiffMerge, Meld-Diff Tool un Diffuse-GUI Giff Tool.