CodeKitHub
Szöveges eszközök

Szöveg-összehasonlítás — Két szöveg online egybevetése

Utolsó frissítés:

Két szöveg összehasonlításához illeszd be mindkét verziót az alábbi mezőkbe, és az eszköz zöld színnel kiemel minden hozzáadott sort, piros színnel minden eltávolított sort, a változatlan sorokat pedig kontextusként mutatja — ugyanaz a diff megközelítés, amelyet a git és a kódellenőrző eszközök használnak. Minden a böngésződben marad.

Mi ez az eszköz?

A diff (különbség) eszköz két szöveget hasonlít össze, és megmutatja azt a minimális változtatáshalmazt, amely az egyiket a másikká alakítja. Így jeleníti meg a Git és más verziókezelő rendszer a kódváltozásokat, és ugyanígy hasznos konfigurációs fájlok, szerződések, cikkek vagy bármely két verzió összehasonlítására.

Ez az eszköz soronként hasonlítja össze a szöveget ugyanazzal az alapul szolgáló algoritmuscsaláddal (leghosszabb közös részsorozat), mint a klasszikus diff-segédprogramok, így a kimenet ismerős kódellenőrzésként olvasható: + a hozzáadott soroknak, − az eltávolított soroknak.

Miért érdemes használni?

  • Lásd, mi változott valójában két verzió között, ahelyett hogy szemmel keresgélnéd.
  • Ismerős, git-stílusú kimenet: zöld hozzáadások, piros törlések, kontextussorok közöttük.
  • Összegzés a hozzáadott és eltávolított sorok számáról egy pillantásra.
  • Bármilyen szöveggel működik — kód, konfigurációk, dokumentumok, listák.
  • Privát: mindkét szöveg a böngésződben marad, semmi nem kerül feltöltésre.

Használati útmutató

  1. Illeszd be az eredeti szöveget a bal oldali mezőbe.
  2. Illeszd be a módosított verziót a jobb oldali mezőbe.
  3. Kattints az „Összehasonlítás” gombra.
  4. Olvasd el az eredményt: a zöld sorok hozzáadásra kerültek, a piros sorok eltávolításra kerültek, a sima sorok változatlanok.

Példa

Bemenet

Eredeti:
első sor
második sor
harmadik sor

Módosított:
első sor
2. sor
harmadik sor

Kimenet

  első sor
− második sor
+ 2. sor
  harmadik sor

A középső sor megváltozott, amit a diff a régi sor eltávolításaként és az új sor hozzáadásaként mutat.

Gyakori felhasználási esetek

  • Egy AI által átírt bekezdés ellenőrzése: illeszd be az eredetit és az AI verzióját, hogy pontosan lásd, mely mondatok változtak, ahelyett hogy az egészet újraolvasnád a szerkesztések keresése végett.
  • Két szerződéstervezet összehasonlítása: a jogi javítások gyakran könnyebben áttekinthetők soronkénti diffként, mint nyomon követett változtatásokként, ha a dokumentum a verziók között át lett formázva.
  • Egy konfigurációs fájl ellenőrzése telepítés után: illeszd be egy .env vagy YAML fájl előtte/utána állapotát, hogy megerősítsd, csak a szándékolt sorok változtak.
  • Fordított szövegverziók összehasonlítása: lásd, mely sorokat érintett valójában egy fordító vagy szerkesztő a tervezetek között.

Ismerendő korlátok

Ez soronkénti diff, nem szavankénti — ha egy bekezdést a dokumentum tetejéről az aljára mozgatsz a szöveg megváltoztatása nélkül, teljes törlésként és teljes hozzáadásként jelenik meg, nem „áthelyezve” jelölésként. Bekezdés-nehéz szövegeknél, ahol mondatonként csak néhány szó változik, egy szavankénti diff eszköz kevesebb szöveget emelne ki, de a soronkénti a szabvány kódhoz, konfigurációkhoz és strukturált dokumentumokhoz, és erre koncentrál ez az eszköz.

Hogyan működik az összehasonlítási algoritmus

Az eszköz megkeresi a két szöveg leghosszabb közös részsorozatát (LCS) — a legnagyobb olyan sorhalmazt, amely mindkét verzióban ugyanabban a relatív sorrendben szerepel, még akkor is, ha közöttük más sorokat szúrtak be vagy távolítottak el. Minden, ami ebben a közös részsorozatban van, változatlan kontextusként jelenik meg; minden más vagy eltávolítottnak (csak az eredetiben szerepel) vagy hozzáadottnak (csak az új verzióban szerepel) minősül. Ez ugyanaz az alapalgoritmus, amely a Unix diff segédprogram és a Git soronkénti összehasonlítása mögött áll, ezért tűnik a kimeneti formátum ismerősnek, ha valaha is átnéztél egy pull requestet.

Egy gyakorlati következmény: ha egy sor máshol is megismétlődik a dokumentumban (pontosan ugyanaz a szöveg kétszer szerepel), az algoritmus ahhoz az előforduláshoz párosítja, amelyik a legkisebbre csökkenti a teljes diffet — ez néha kissé más párosítást eredményez, mint amire ösztönösen számítanál, bár a végleges hozzáadott/eltávolított sorszámok mindig pontosak, függetlenül attól, melyik duplikátum melyikhez lett párosítva.

Gyakori kérdések

Szavanként vagy soronként hasonlít össze?

Soronként, akárcsak a git diff. Egy megváltozott sor egy eltávolításként és egy hozzáadásként jelenik meg. A soronkénti diff a kód és konfigurációk szabványa, és nagy szövegeknél is olvasható marad.

Miért mutat egy apró változás is teljes sorváltozásnak tűnő eredményt?

Mert az összehasonlítás egysége a sor — bármilyen változás benne az egész sort megjelöli. Bontsd rövidebb sorokra a hosszú bekezdéseket, ha finomabb bontásra van szükséged.

Számít a szóköz?

Igen. A soroknak pontosan egyezniük kell, így egy záró szóköz vagy eltérő behúzás eltérő sorként számít. Ez szándékos — a szóközbeli különbségek kódban és konfigurációkban valódi különbségek.

Van méretkorlát?

Nincs kemény korlát, de nagyon nagy szövegeknél (több tízezer sor) egy pillanatig tarthat, mivel az összehasonlítás helyben, az eszközödön fut.

Feltöltésre kerülnek a szövegeim az összehasonlításhoz?

Nem. A diff algoritmus teljes egészében a böngésződben fut JavaScripttel. Mindkét szöveg az eszközödön marad — biztonságos szerződésekhez, belső dokumentumokhoz és még meg nem jelent kódhoz.

Kapcsolódó eszközök