Tässä oppaassa näytetään, kuinka Linuxia verrataan kahteen tiedostoon ja tuotetaan niiden ero näytölle tai tiedostolle.
Sinun ei tarvitse asentaa mitään erikoisohjelmistoja vertailemaan tiedostoja Linuxissa, mutta sinun on tiedettävä, miten pääteikkuna avautuu.
Linkitetyssä oppaassa on useita tapoja avata päätelaite Linuxin avulla. Yksinkertaisinta on painaa CTRL-, ALT- ja T-näppäimiä samanaikaisesti.
Luotettavien tiedostojen luominen
Seuraavaksi seuraa tämän oppaan luomalla tiedosto nimeltä "file1" ja syötä seuraava teksti:
10 vihreää pulloa seisoo seinällä
10 vihreää pulloa seisoo seinällä
Jos yksi vihreä pullo sattuu vahingossa
Seinällä seisoi 9 vihreää pulloa
Voit luoda tiedoston noudattamalla seuraavia ohjeita:
-
Avaa tiedosto kirjoittamalla seuraava komento: nano file1
-
Kirjoita teksti nanoeditoriksi
-
Tallenna tiedosto painamalla CTRL ja O
-
Poistu tiedostosta painamalla CTRL ja X
Luo nyt toinen tiedosto nimeltä "file2" ja kirjoita seuraava teksti:
10 vihreää pulloa seisoo seinällä
Jos 1 vihreä pullo sattuu vahingossa
Seinällä seisoi 9 vihreää pulloa
Voit luoda tiedoston noudattamalla seuraavia ohjeita:
-
Avaa tiedosto kirjoittamalla seuraava komento: nano file2
-
Kirjoita teksti nanoeditoriksi
-
Tallenna tiedosto painamalla CTRL ja O
-
Poistu tiedostosta painamalla CTRL ja X
Miten vertailla kahta tiedostoa Linuxilla
Linuxissa käytettyä komentoa, joka näyttää eroja kahden tiedoston välillä, kutsutaan diff-komennoksi.
Diff-komennon yksinkertaisin muoto on seuraava:
diff tiedosto1 tiedosto2
Jos tiedostot ovat samat, tämän komennon käyttäminen ei tule näkyviin, mutta koska eroja on, näet samanlaisen tulostuksen kuin:
2,4c2,3
<10 vihreää pulloa, jotka seisovat seinälle
<Jos yksi vihreä pullo sattuu vahingossa
<Seinillä seisoi 9 vihreää pulloa
…
> Jos 1 vihreä pullo vahingossa putoaa
> Siellä seisoi 9 vihreää pulloa
Alun perin tuotos voi tuntua hämmentävältä, mutta kun ymmärrät terminologian, se on melko loogista.
Omien silmiesi avulla näet, että kahden tiedoston väliset erot ovat seuraavat:
- Toisella tiedostolla on vain kolme riviä, kun taas ensimmäisellä tiedostolla on 4.
- Toinen tiedosto sanoo "1 vihreä pullon" kolmannella rivillä, kun taas ensimmäinen tiedosto sanoo "yhden vihreän pullon"
- Toinen tiedosto sanoo "siellä olisi" sijasta "ei" lopullisella rivillä
Diff-komennon lähtö osoittaa, että toisen tiedoston rivien 2 ja 4 ja toisen tiedoston rivin 2 ja 3 välillä on eroja.
Sitten luetellaan rivit 2-4 ensimmäisestä tiedostosta, jota seuraa toisessa tiedostossa olevat 2 eri rivit.
Kuinka näyttää vain, jos tiedostot ovat erilaiset
Jos haluat vain tietää, ovatko tiedostot erilainen ja et ole kiinnostunut siitä, mitkä rivit ovat erilaisia, voit suorittaa seuraavan komennon:
diff -q tiedosto1 tiedosto2
Jos tiedostot ovat erilaiset, näyttöön tulee seuraava teksti:
Tiedostot1 ja tiedosto2 eroavat toisistaan
Jos tiedostot ovat samat, mikään ei näy.
Viestin näyttäminen Jos tiedostot ovat samat
Kun suoritat komennon, jonka haluat tietää, että se on toiminut oikein, haluat viestin näkyvän, kun suoritat diff-komennon riippumatta siitä, ovatko tiedostot samat vai erilaiset
Tämän vaatimuksen saavuttamiseksi diff-komennolla voit käyttää seuraavaa komentoa :.
diff -s-tiedosto1-tiedosto2
Nyt, jos tiedostot ovat samat, saat seuraavan viestin:
Tiedostot tiedosto1 ja tiedosto2 ovat samat
Kuinka tuottaa eroja vierekkäin
Jos on paljon eroja, voi hyvin nopeasti saada sekaannusta siitä, mitä erot ovat todellisuudessa kahden tiedoston välillä.
Voit muuttaa diff-komennon tulosta niin, että tulokset näytetään vierekkäin. Tätä varten suorita seuraava komento:
diff -y tiedosto1 tiedosto2
Tiedoston ulostulo käyttää | symboli osoittamaan eron kahden rivin välillä, <näytetään poistettu rivi ja a> näytetään viiva, joka on liitetty.
Mielenkiintoista, jos suoritat komennon esittelytiedostojasi, kaikki rivit näyttävät erilaisilta, paitsi viimeisen tiedoston 2 rivin, joka näytetään olevan poistettu.
Sarakkeen leveyden rajoittaminen
Kun verrataan kahta tiedostoa vierekkäin, sitä voi olla vaikea lukea, jos tiedostoilla on paljon sarakkeita tekstiä.
Jos haluat rajoittaa useita sarakkeita, käytä seuraavaa komentoa:
diff --width = 5 tiedoston tiedosto2
Kuinka jättää eroavaisuudet vertailemalla tiedostoja
Jos haluat vertailla kahta tiedostoa, mutta et välitä siitä, onko kirjainten tapaus sama kahden tiedoston välillä, käytä seuraavaa komentoa:
Kuinka sivuuttaa valkoisen tilan loppuviivalla
Jos verrataan tiedostoja, joissa havaitaan suuria eroja, ja erot johtuvat viivojen lopussa olevasta valkoisesta tilasta, voit jättää ne näkyviin muutoksiksi suorittamalla seuraavan komennon:
Kuinka jättää huomiotta kaikki valkoiset välilyönnit kahteen tiedostoon
Jos tiedostossa oleva teksti on kiinnostunut vain tiedostosta, etkä välitä siitä, onko toisessa tilassa enemmän tilaa, voit käyttää seuraavaa komentoa:
Kuinka sivuuttaa tyhjät rivit vertaamalla kahta tiedostoa
Jos et välitä siitä, että tiedostossa voi olla ylimääräisiä tyhjiä viivoja, voit verrata tiedostoja seuraavalla komennolla:
Yhteenveto
Lisätietoja saat lukemalla diff-komennon käsikirjan.
man diff
Diff-komentoa voidaan käyttää yksinkertaisimmassa muodossaan vain näyttääksesi eroja kahden tiedoston välillä, mutta voit myös käyttää sitä diff-tiedoston luomiseen osana korjaustiedostrategiaa, kuten tässä oppaassa on Linux-korjauskäsky.
Toinen komento, jolla voit verrata tiedostoja, on tässä oppaassa esitetyn cmp-komento. Tämä vertaa tiedoston tavua tavun mukaan.