Sådan sammenligner du to tekstfiler og ser, hvad der er ændret

Den hurtigste måde at sammenligne to tekstfiler er at indsætte begge i et diff-værktøj, der viser dem side om side, og læse de linjer, det fremhæver. Grønt for det, der blev tilføjet, rødt for det, der blev fjernet, og en ændret linje vises som en af hver. Ingen installation, ingen upload, klaret på få sekunder.

Det dækker de fleste tilfælde. Men to filer, der ser identiske ud på skærmen, kan stadig være uenige byte for byte, og det er der, folk mister en hel eftermiddag. Denne guide viser den hurtige metode, et gennemarbejdet eksempel, de usynlige forskelle, der er værd at kende, og hvor en AI-chatbot som ChatGPT faktisk hjælper. Hvis du bare vil have værktøjet, kører vores side til tekstsammenligning det hele i din browser.

Hvad "at sammenligne to tekstfiler" egentlig betyder

En tekstfil er en sekvens af tegn opdelt i linjer. At sammenligne to af dem betyder at stille de dele op, der matcher, og markere de dele, der ikke gør. Det klassiske værktøj til dette er Unix-værktøjet diff, og enhver moderne diff-viser, inklusive vores, gør det samme arbejde med en mere venlig visning.

De fleste diff-værktøjer arbejder linje for linje først. Det holder dem hurtige på lange filer og matcher, hvordan folk læser: du skanner efter linjen, der flyttede sig, og kigger derefter inde i den efter ordet, der blev ændret. Vores motor er bygget på Googles diff-match-patch, der kører en gennemgang i linjetilstand, før den kigger på enkelte tegn, så en log på tusind linjer diffes stadig med det samme.

Måder at sammenligne to tekstfiler

Der er ingen enkelt rigtig metode. Det afhænger af, hvor filerne ligger, og hvor præcis du skal være.

MetodeBedst tilPræcis?Indsats
At læse dem side om sideFå linjer, én åbenlys ændringDu er dommerenLav
Diff-værktøj onlineHurtige tjek, indsætning fra hvor som helstJa, præcis på tegnetLav
Kommandolinjen (diff, git diff)Filer på disk, scripting, enorme filerJaMiddel
Kodeeditor (VS Code "Compare")Filer, der allerede er åbne i din editorJaLav
AI-chatbot (ChatGPT)Et resumé af ændringen på almindeligt danskNej, kan misse eller omformulereLav

Til et engangstjek vinder et browserværktøj på hastighed, fordi der ikke er noget at installere, og du kan indsætte direkte fra en e-mail, en log eller en kodegennemgang. For filer, der allerede spores i et repository, er git diff lige ved hånden. Vi vender tilbage til AI-muligheden, fordi den er genuint nyttig til det rette job og en fælde til det forkerte.

Sammenlign to tekstfiler i din browser, trin for trin

Det her er rutinen, når nogen sender dig to versioner af et dokument og spørger "hvad er forskelligt?" Det tager cirka ti sekunder.

  1. Åbn tekstsammenligningsværktøjet.
  2. Indsæt originalen til venstre og den nye version til højre. Eller brug Upload til at indlæse en fil direkte fra disk.
  3. Læs fremhævningerne. Tilføjede linjer er grønne, fjernede linjer er røde, og en linje, der blev ændret, vises som et rød-og-grønt par.
  4. Rul gennem de ændrede linjer. Inde i hver enkelt er de præcise ord, der er forskellige, markeret, så du ikke genlæser hele linjen.
  5. Hvis de to filer ser langt mere forskellige ud, end de burde, så spring til afsnittet om usynlige forskelle nedenfor.

Et gennemarbejdet eksempel

Lad os sige, at en kollega sender et redigeret afsnit tilbage og beder dig tjekke deres ændringer. Her er din original:

The service starts at 9am on weekdays.
Refunds are processed within 14 days.
Contact [email protected] for help.

Og her er deres version:

The service starts at 8am on weekdays.
Refunds are processed within 30 days.
Contact [email protected] for help.
Priority support is available on request.

Smid begge ind i diffen, og den virkelige historie er kort, selvom den er let at skimme forbi i almindelig tekst:

Hvad der faktisk blev ændret
LinjeFørEfterÆndring
Starttid9am8amÆndret
Refunderingsvindue14 days30 daysÆndret
Supportlinje[email protected][email protected]Ingen ændring
Prioriteret supportingenPriority support is available on request.Tilføjet

To tal flyttede sig, og en sætning blev tilføjet. At refunderingsvinduet fordobles fra 14 til 30 dage er den slags ændring, du vil fange, før den bliver sendt ud, og den er ét tegn fra at være usynlig ved en hurtig læsning. Det er hele argumentet for at diffe tekst i stedet for at stole på dine øjne.

De usynlige forskelle, der driller folk

Nogle gange maler en diff to filer som fuldstændig forskellige, når de ser identiske ud på skærmen. Årsagen er næsten altid et tegn, du ikke kan se. Her er de sædvanlige mistænkte.

Usynlig forskelHvor den kommer fraHvad du skal gøre
Linjeslutninger: CRLF vs LFÉn fil blev gemt på Windows, den anden på macOS eller LinuxNormaliser linjeslutningerne; se konventioner for ny linje
Afsluttende mellemrumMellemrum eller tabulatorer efterladt i slutningen af en linjeFjern afsluttende mellemrum, eller ignorer det, hvis dit værktøj kan
En byte order mark (BOM)En editor tilføjede en usynlig markør til den første linjeGem som UTF-8 uden en BOM
Tabulatorer vs mellemrumForskellige editorer eller indrykningsindstillingerVælg én og konverter; begge ser ens ud på skærmen
TekstkodningÉn fil er UTF-8, den anden Latin-1, så accenttegn er forskellige i byteGem begge igen som UTF-8
Hårde mellemrumIndsat fra en webside eller et tekstbehandlingsprogramFind og erstat dem med almindelige mellemrum

Den, der bider hårdest, er linjeslutningerne. En Windows-fil bruger et vognretur plus et linjeskift (CRLF) i slutningen af hver linje; en Mac- eller Linux-fil bruger bare et linjeskift (LF). Åbn begge i den samme editor, og de ser ens ud, men hver eneste linje er forskellig på byte-niveau, så en naiv diff lyser op som et juletræ. Hvis hele din fil vises som ændret, så tjek det her først.

Kan ChatGPT sammenligne to filer?

Ja, og mange gør nu præcis det: indsætter to versioner i ChatGPT (eller en anden AI-assistent) og spørger "hvad blev ændret?" For korte filer virker det godt og giver dig noget, en almindelig diff ikke kan: et resumé på almindeligt sprog. "Refunderingsvinduet gik fra 14 til 30 dage, og en linje om prioriteret support blev tilføjet" er ofte mere nyttigt for en travl læser end en mur af rødt og grønt.

Hagen er præcisionen. En sprogmodel er ikke en diff-algoritme. Den kan misse en ændring på ét tegn, stille omformulere en linje, mens den opsummerer, eller løbe tør for plads på en lang fil og springe midten over. Det betyder også, at du overdrager din tekst til en tredjepart, hvilket du måske ikke ønsker for noget følsomt. Så de to slags værktøjer er supplementer, ikke rivaler.

Et godt workflow: kør først filerne gennem et deterministisk diff-værktøj for at få den præcise, tegnnøjagtige liste over ændringer, indsæt så den korte liste i en AI-chatbot og bed den forklare virkningen på almindeligt sprog. Du får diffens nøjagtighed og resuméets læsbarhed uden at stole på, at nogen af dem gør den andens arbejde.

At sammenligne filer på kommandolinjen

Hvis filerne allerede er på disk, er den indbyggede diff-kommando én linje:

diff old.txt new.txt

Tilføj -u for det unified-format, Git bruger, eller -w for at ignorere forskelle i mellemrum. For filer i et repository gør git diff old.txt new.txt det samme med farve og fremhævning på ordniveau. Browserværktøjet er den terminalfrie version af dette: indsæt, læs, færdig.

Relaterede værktøjer

Almindelig tekst er sjældent det eneste, du sammenligner. Hvis dine filer er strukturerede, læser en formatbevidst visning bedre: sammenlign JSON håndterer ombyttede nøgler og indrykningsstøj, og sammenlign CSV stiller rækker og kolonner op. At rydde op i en rodet liste, før du differ den, er et job for fjern dublerede linjer og sortér linjer.

Ofte stillede spørgsmål

Uploader en online-sammenligning af tekstfiler dem nogen steder?
På comparetext.org kører sammenligningen i din browser. Begge filer diffes af JavaScript på din egen maskine, så intet sendes til en server, medmindre du bevidst klikker på Gem eller Del. Det gør det sikkert for udkast, kontrakter, konfiguration og alt andet, du ikke ville indsætte på en side, der uploader ved hvert tastetryk.
Hvorfor viser mine to tekstfiler hver linje som forskellig?
Næsten altid er det linjeslutningerne. Én fil blev gemt på Windows (CRLF) og den anden på macOS eller Linux (LF), så hver linje er forskellig på byte-niveau, selvom de ser identiske ud. En skjult byte order mark (BOM) på den første linje eller tabulatorer kontra mellemrum kan gøre det samme. Normaliser linjeslutningerne og gem begge igen som UTF-8, diff så igen.
Kan jeg sammenligne to tekstfiler uden at installere noget?
Ja. Åbn tekstsammenligningsværktøjet, indsæt én fil til venstre og den anden til højre, eller brug Upload til at indlæse dem fra disk. Diffen dukker op med det samme, direkte i browseren, med ændrede linjer fremhævet. Der er intet at downloade og ingen konto at oprette.
Kan ChatGPT sammenligne to filer for mig?
Det kan den, og det er praktisk til et resumé på almindeligt sprog af, hvad der blev ændret i korte filer. Men en sprogmodel er ikke en diff-algoritme: den kan misse en lille ændring, omformulere en linje, mens den opsummerer, eller springe midten af en lang fil over. Til en præcis, tegnnøjagtig sammenligning skal du bruge et diff-værktøj og derefter overdrage resultatet til en AI, hvis du vil have det forklaret i ord.
Hvordan sammenligner jeg to filer og ignorerer mellemrum?
På kommandolinjen ignorerer diff -w old.txt new.txt forskelle i mellemrum, og diff -b ignorerer ændringer i mængden af mellemrum. I en browser skal du fjerne afsluttende mellemrum og normalisere linjeslutningerne, før du indsætter, da det er de mellemrumsændringer, der oftest roder en diff til. Målet er kun at efterlade de ændringer, der ændrer betydning.
Hvad er forskellen mellem at sammenligne tekst og at sammenligne kode?
Mekanikken er den samme: begge stiller matchende linjer op og markerer resten. Forskellen er, hvad der tæller som en reel ændring. I prosa kan et ombrudt afsnit ligne en stor redigering, når kun et ord flyttede sig. I kode betyder indrykning og en flyttet funktion noget. En formatbevidst visning som JSON-sammenligning eller en sprogbevidst editor reducerer den støj for strukturerede filer.

Klar til at prøve det? Indsæt dine to filer i tekstsammenligningsværktøjet og se, hvad der blev ændret.