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.
| Metode | Bedst til | Præcis? | Indsats |
|---|---|---|---|
| At læse dem side om side | Få linjer, én åbenlys ændring | Du er dommeren | Lav |
| Diff-værktøj online | Hurtige tjek, indsætning fra hvor som helst | Ja, præcis på tegnet | Lav |
Kommandolinjen (diff, git diff) | Filer på disk, scripting, enorme filer | Ja | Middel |
| Kodeeditor (VS Code "Compare") | Filer, der allerede er åbne i din editor | Ja | Lav |
| AI-chatbot (ChatGPT) | Et resumé af ændringen på almindeligt dansk | Nej, kan misse eller omformulere | Lav |
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.
- Åbn tekstsammenligningsværktøjet.
- Indsæt originalen til venstre og den nye version til højre. Eller brug Upload til at indlæse en fil direkte fra disk.
- 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.
- 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.
- 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:
| Linje | Før | Efter | Ændring |
|---|---|---|---|
| Starttid | 9am | 8am | Ændret |
| Refunderingsvindue | 14 days | 30 days | Ændret |
| Supportlinje | [email protected] | [email protected] | Ingen ændring |
| Prioriteret support | ingen | Priority 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 forskel | Hvor den kommer fra | Hvad du skal gøre |
|---|---|---|
| Linjeslutninger: CRLF vs LF | Én fil blev gemt på Windows, den anden på macOS eller Linux | Normaliser linjeslutningerne; se konventioner for ny linje |
| Afsluttende mellemrum | Mellemrum eller tabulatorer efterladt i slutningen af en linje | Fjern 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 linje | Gem som UTF-8 uden en BOM |
| Tabulatorer vs mellemrum | Forskellige editorer eller indrykningsindstillinger | Væ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 byte | Gem begge igen som UTF-8 |
| Hårde mellemrum | Indsat fra en webside eller et tekstbehandlingsprogram | Find 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.txtforskelle i mellemrum, ogdiff -bignorerer æ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.