Kuidas võrrelda kahte faili Linuxis

How Compare Two Files Linux



Kui soovite kahte faili võrrelda ja erinevust dešifreerida, kutsuti käsk erinevus kasutatakse. See juhend on keskendunud selle kasutamise pakkumisele erinevus käsku erinevate valikutega, et saada erinevus kahe faili vahel.

Niisiis, kuidas toimib erinevus käsk tegelikult toimib? The erinevus käsk võrdleb kahte faili ja väljastab loendi mõlema faili erinevustest. Täpsemalt annab see nimekirja muudatustest, mis tuleb teha esimeses failis, et see sobiks teise failiga. The erinevus käsku kasutavad ka programmeerijad, et saada plaastrite väljatöötamiseks erinevus kahe lähtekoodifaili vahel.







Enne näidetesse sukeldumist pange tähele, et failide järjestus on väga oluline. Kuna erinevus käsk annab väljundi failide järjekorra alusel.



Kuidas kasutada Linuxis failide võrdlemiseks käsku diff:

Süntaks erinevus käsku mainitakse allpool:



$erinevus [võimalusi] [fail1] [fail2]

Esiteks looge kaks faili. Loon tekstifaile nimega test_fail_1.txt ja test_fail_2.txt . Need failid sisaldavad väikese erinevusega sisu:





Nüüd kasutage erinevuse saamiseks järgmist käsku:



$erinevustest_fail_1.txt test_fail_2.txt

Standardväljundis kuvati read, mis vastavad käsus mainitud failide järjekorrale. Niisiis, dekodeerime väljundi:

Failide võrdlus on märgistatud ja igal sildil on mõlemal küljel number. Vorming on järgmine:

[Faili rea number] [Silt (a, c, d)] [Faili 2 rea number]

Seal on kolm silti:

  • et - Lisa: lisage esimese faili sisu teise failiga sünkroonimiseks.
  • c - Muuda: näitab, et esimese faili sisus on vaja muuta teist faili.
  • d - Kustuta: eemaldage esimesest failist sisu, et see sobiks teisega.

2d1 tähistab esimese faili rea number 2 kustutamist, et see vastaks reale number 1 teisele failile.

Sarnaselt 4c3 tähendab muudatuse tegemist esimese faili neljandal real, et see vastaks teise faili reale number 3, kuna mõlemad read on veidi erinevad.

Erinevuse vaatamiseks on veel üks meetod, kasutage erinevus käsku koos -ja valik:

$erinevus -ja -IN 60test_fail_1.txt test_fail_2.txt

Ülaltoodud väljundis on sisu test_fail_1.txt kuvatakse vasakul küljel, samas kui sisu text_file_2.txt kuvatakse paremal küljel. Erinevust näitavad sümbolid:

  • | - Teises failis on rida erinev
  • > - Rida on teises failis täiendav
  • <— Line has been deleted from the second file

-W tähistab kahe faili sisu vahelist laiust. Eraldi hankimiseks ja erinevuse vaatamiseks kasutage järgmist.

$erinevus -ja -IN 60 --suppress-common-linestest_fail_1.txt test_fail_2.txt

Kuidas saada väljundit ühel real, kasutades käsku diff:

Kui märgistatud meetodit on teil raske dekodeerida, on olemas lihtsam lähenemisviis. Kasutades -q valik koos erinevus käsk annab teile väljundi ühes reas. Noh, ilma lisateabeta:

$erinevus -qtest_fail_1.txt test_fail_2.txt

Kui failid erinevad, annab ülaltoodud käsk väljundi. Kui failid on identsed, siis väljundit ei toimu. Selle demonstreerimiseks loon koopia test_fail_1.txt kasutades:

$cptest_fail_1.txt test_fail_3.txt

Nimega luuakse uus fail test_fail_3.txt sisaldab sama sisu, mida test_fail_1.txt on. Nüüd kasutage:

$erinevus -qtest_fail_1.txt test_fail_2.txt

Kuna mõlemal failil on sarnane sisu, siis pole ka väljundit.

Failide erinevuse kontrollimine kontekstirežiimis, kasutades käsku diff:

Kontekstirežiimis võrdluse saamiseks kasutage -c valikut kasutatakse koos erinevus käsk:

$erinevus -ctest_fail_1.txt test_fail_2.txt

Lahkame väljundi.

Erinevuse säilitamiseks tähistatakse esimest faili *** koos loomise kuupäeva ja kellaajaga, teist faili tähistab -.

Järgmine rida tähistab ridade vahemikku, mida võrreldakse. Esimese faili puhul on see *** 1,6 **** ja teise faili puhul see on -1,5- :

Erinevust näitavad sümbolid:

  • +: Rida ei ole esimeses failis. Sisestage see esimesse faili või eemaldage see teisest failist, et need sobiksid mõlema failiga.
  • -: rida on esimeses failis, kuid teises failis mitte. Proovige see teise faili sisestada või eemaldada esimesest, et need mõlemad failid sobiksid.
  • ! : Rida vajab sobitamiseks muutmist.

Kuidas kontrollida failide erinevust ühendatud režiimis, kasutades käsku diff:

Ühtne režiim on kontekstirežiimiga üsna sarnane, kuid ilma üleliigse teabeta. Meie kasutatav lipp on -u :

$erinevus -utest_fail_1.txt test_fail_2.txt

Väljundis on esimene fail tähistatud - ja teine ​​+++. Teine rida näitab mõlema faili võrdlemiseks mõeldud ridade arvu, seejärel kustutatavat, lisatavat või muudetavat sisu koos nendega tähistatud sümbolitega. Mõlemas failis ei ole sarnaste ridadega sümbolit.

Kuidas ignoreerida tõstutundlikkust diferentseeritud käsu kasutamisel:

Kui soovite faile võrrelda, jättes tähelepanuta väiketähed, siis kasutage -mina lipp:

$erinevus -minatest_fail_1.txt test_fail_2.txt

Demonstreerimiseks olen teinud D kohta Deepin esimeses failis väike:

Nagu esimeses käsus näha, on erinevus märgitud; kasutamise ajal -mina see vahe on eemaldatud.

Mõned muud kasulikud valikud erinevus käsk on loetletud allpool:

Valik Kirjeldus
-juurde See suvand käsitleb kõiki faile tekstifailidena
-B See eirab muudatusi, kus kõik read on tühjad
-JA See suvand eirab vahelehtede laiendamist
-Mina See ignoreerib muudatusi, kus kõik read kattuvad
-s Annab väljundi, kui kaks faili on identsed
-sisse See ignoreerib kogu tühikut
-KOOS See ignoreerib tühikuid rea lõpus

Kuidas kasutada Vim Editori kahe faili võrdlemiseks:

Teine meetod kahe faili võrdlemiseks on vimdiff käsk. Selleks peate installima vim:

$sudoasjakohanepaigaldada ma tulin

Kahe faili võrdlemiseks kasutage järgmist:

$vimdiff test_fail_1.txt test_fail_2.txt

Mõlemad failid avatakse kõrvuti. Osa, mis ei sobi, tõstetakse esile:

Kuidas võrrelda kahte faili, kasutades kolordifti:

Teine lähenemisviis on omamoodi laiendus erinevus käsk. Saate muuta võrdluse paremini tuvastatavaks, lisades sellele värve. Paigaldamiseks kasutage:

$sudoasjakohanepaigaldadacolordiff

Failide võrdlemiseks kasutage:

$colordiff test_fail_1.txt test_fail_2.txt

Saate asendada erinevus koos colordiff standardväljundi saamiseks erinevus käsk värvilises vormingus.

Järeldus:

Failide võrdlemiseks Linuxis ja isegi macOS -is nimetatakse utiliiti diff. Dif -utiliit võrdleb kahte faili ja annab teavet nende kahe faili erinevuste kohta. Arendajad kasutavad patch -failide loomiseks peamiselt käsku diff.

Selles juhendis arutasime põhjalikult erinevus käsk ja kuidas seda kasutada kahe faili võrdlemiseks erinevate valikutega. Õppisime ka kasutama colordiff failide erinevuste äratuntavamaks muutmiseks. Kui aga terminalipõhist utiliiti on teil raske kasutada, on olemas ka mõned GUI-põhised tööriistad, näiteks Kompare, DiffMerge, Meld-Diff Tool ja Diffuse-GUI Giff Tool.