CodeKitHub
Tekstityökalut

Tekstin vertailu — vertaa kahta tekstiä verkossa

Viimeksi päivitetty:

Vertaillaksesi kahta tekstiä, liitä molemmat versiot alla oleviin kenttiin, ja työkalu korostaa jokaisen lisätyn rivin vihreällä ja jokaisen poistetun rivin punaisella, muuttumattomat rivit näytetään kontekstina — sama diff-lähestymistapa, jota git ja koodikatselmointityökalut käyttävät. Kaikki pysyy selaimessasi.

Mikä tämä työkalu on?

Diff (erotus) -työkalu vertaa kahta tekstiä ja näyttää pienimmän muutosjoukon, joka muuttaa toisen toiseksi. Näin versionhallintajärjestelmät kuten Git näyttävät koodimuutokset, ja se on yhtä käyttökelpoinen konfiguraatiotiedostojen, sopimusten, artikkelien tai minkä tahansa kahden version vertailuun.

Tämä työkalu vertaa rivi riviltä käyttäen samaa algoritmiperhettä (pisin yhteinen alijono) kuin klassiset diff-apuohjelmat, joten tuloste näyttää tutulta koodikatselmoinnilta: + lisätyille riveille, − poistetuille riveille.

Miksi käyttää sitä?

  • Näe mikä oikeasti muuttui kahden version välillä sen sijaan, että tuijottaisit niitä silmämääräisesti.
  • Tuttu git-tyylinen tuloste: vihreät lisäykset, punaiset poistot, kontekstirivit väliin.
  • Yhteenveto lisättyjen ja poistettujen rivien määrästä yhdellä silmäyksellä.
  • Toimii minkä tahansa tekstin kanssa — koodi, konfiguraatiot, dokumentit, listat.
  • Yksityinen: molemmat tekstit pysyvät selaimessasi, mitään ei ladata palvelimelle.

Käyttöohje

  1. Liitä alkuperäinen teksti vasempaan kenttään.
  2. Liitä muutettu versio oikeaan kenttään.
  3. Klikkaa "Vertaa".
  4. Lue tulos: vihreät rivit lisättiin, punaiset rivit poistettiin, tavalliset rivit ovat muuttumattomia.

Esimerkki

Syöte

Original:
line one
line two
line three

Changed:
line one
line 2
line three

Tuloste

  line one
− line two
+ line 2
  line three

Keskimmäinen rivi muuttui, minkä diff näyttää poistamalla vanhan rivin ja lisäämällä uuden.

Yleiset käyttötapaukset

  • Tekoälyn uudelleenkirjoittaman kappaleen tarkistus: liitä alkuperäinen ja tekoälyn versio nähdäksesi tarkalleen, mitkä lauseet muuttuivat, sen sijaan että lukisit koko tekstin uudelleen etsiäksesi muokkauksia.
  • Kahden sopimusluonnoksen vertailu: juridiset muutosmerkinnät on usein helpompi selata rivivertailuna kuin seurattuina muutoksina, kun dokumentti on muotoiltu uudelleen versioiden välillä.
  • Konfiguraatiotiedoston tarkistus julkaisun jälkeen: liitä .env- tai YAML-tiedoston ennen/jälkeen-versiot varmistaaksesi, että vain tarkoitetut rivit muuttuivat.
  • Käännettyjen tekstiversioiden vertailu: näe, mitä rivejä kääntäjä tai editoija oikeasti muokkasi luonnosten välillä.

Rajoitukset, jotka kannattaa tietää

Tämä on rivitason diff, ei sanatason diff — jos siirrät kappaleen dokumentin alusta loppuun muuttamatta sen tekstiä, se näkyy täytenä poistona plus täytenä lisäyksenä, ei "siirretty"-merkintänä. Kappalepainotteiselle proosalle, jossa vain muutama sana lauseessa muuttuu, sanatason diff-työkalu korostaisi vähemmän tekstiä, mutta rivitaso on vakio koodille, konfiguraatioille ja jäsennellyille dokumenteille, ja siihen tämä työkalu keskittyy.

Miten vertailualgoritmi toimii

Työkalu etsii pisimmän yhteisen alijonon (LCS) kahden tekstin väliltä — suurimman rivijoukon, joka esiintyy samassa suhteellisessa järjestyksessä molemmissa versioissa, vaikka niiden väliin olisi lisätty tai niistä poistettu muita rivejä. Kaikki tuossa yhteisessä alijonossa näytetään muuttumattomana kontekstina; kaikki muu luokitellaan joko poistetuksi (vain alkuperäisessä) tai lisätyksi (vain uudessa versiossa). Tämä on sama ydinalgoritmi Unixin diff-apuohjelman ja Gitin rivikohtaisen vertailun takana, minkä vuoksi tuloste näyttää heti tutulta, jos olet joskus katselmoinut pull requestin.

Yksi käytännön seuraus: jos rivi toistuu dokumentin muualla (täsmälleen sama teksti esiintyy kahdesti), algoritmi täsmää sen siihen esiintymään, joka pitää kokonaisdiffin pienimpänä — mikä tuottaa toisinaan hieman eri parituksen kuin intuitiivisesti odottaisit, vaikka lopulliset lisättyjen/poistettujen rivien määrät ovat aina tarkkoja riippumatta siitä, mikä duplikaatti täsmättiin mihinkin.

Usein kysytyt kysymykset

Vertaako se sana sanalta vai rivi riviltä?

Rivi riviltä, kuten git diff. Muuttunut rivi näkyy yhtenä poistona plus yhtenä lisäyksenä. Rivitason vertailu on koodin ja konfiguraatioiden vakio ja pysyy luettavana myös suurissa teksteissä.

Miksi pieni muutos näyttää koko rivin muuttuneena?

Koska vertailun yksikkö on rivi — mikä tahansa muutos sen sisällä merkitsee koko rivin. Jaa pitkät kappaleet lyhyemmiksi riveiksi, jos tarvitset hienojakoisempaa erottelua.

Vaikuttaako välilyönti?

Kyllä. Rivien täytyy täsmätä tarkalleen, joten loppuun jäänyt välilyönti tai eri sisennys tekee riveistä eroavia. Tämä on tarkoituksellista — välilyöntierot ovat todellisia eroja koodissa ja konfiguraatioissa.

Onko kokorajaa?

Ei kovaa rajaa, mutta hyvin suuret tekstit (kymmeniä tuhansia rivejä) voivat kestää hetken, koska vertailu ajetaan paikallisesti laitteellasi.

Ladataanko tekstini vertailua varten palvelimelle?

Ei. Diff-algoritmi ajetaan kokonaan selaimessasi JavaScriptillä. Molemmat tekstit pysyvät laitteellasi — turvallinen käyttää sopimuksiin, sisäisiin dokumentteihin ja julkaisemattomaan koodiin.

Liittyvät työkalut