Startpagina > Tekstverwerking en zoeken > diff

diff: Vergelijk verschillen tussen twee bestanden (Unified formaat)

Het diff-commando analyseert en toont de verschillen tussen twee bestanden of mappen. Met name de `-u` (Unified) optie toont de resultaten in een geünificeerd formaat dat de gewijzigde regels samen met de omringende context weergeeft. Dit is zeer nuttig voor het beoordelen van code wijzigingen of het begrijpen van wijzigingsgeschiedenissen in versiebeheersystemen. Dit formaat helpt om intuïtief te begrijpen welke delen zijn toegevoegd, verwijderd of gewijzigd.

Overzicht

diff -u vergelijkt de inhoud van twee bestanden en toont de verschillen in een geünificeerd formaat. Dit formaat toont de gewijzigde regels samen met de omringende context, waardoor het gemakkelijk is om te zien hoe dingen zijn veranderd. Dit is een essentieel hulpmiddel, vooral voor broncodebeheer en het volgen van wijzigingsgeschiedenissen van configuratiebestanden.

Belangrijkste kenmerken

  • Toont verschillen in geünificeerd formaat
  • Biedt context voor wijzigingen
  • Nuttig voor codebeoordeling en versiebeheer
  • Onderscheidt duidelijk toegevoegde/verwijderde/gewijzigde regels

Belangrijkste opties

Het diff-commando biedt verschillende opties, maar hier worden de opties beschreven die vaak samen met de `-u` optie worden gebruikt.

Uitvoerformaat

Vergelijkingsgedrag

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`diff` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Diverse gebruiksvoorbeelden van het diff -u commando.

Vergelijk verschillen tussen twee bestanden in geünificeerd formaat

diff -u file1.txt file2.txt

Toont de verschillen tussen file1.txt en file2.txt in geünificeerd formaat.

Vergelijk bestanden in twee mappen recursief

diff -ur dir1 dir2

Vergelijkt recursief alle bestanden in de mappen dir1 en dir2 en toont de resultaten in geünificeerd formaat.

Vergelijk bestanden waarbij spaties worden genegeerd

diff -uw file1.txt file2.txt

Vergelijkt bestanden waarbij veranderingen in spaties (spaties, tabs, etc.) in de bestandsinhoud worden genegeerd, en toont alleen de werkelijke inhoudelijke verschillen.

Vergelijk bestanden waarbij regels met een specifiek patroon worden genegeerd

diff -u -I '^#' config1.conf config2.conf

Vergelijkt de verschillen tussen config1.conf en config2.conf, waarbij regels die beginnen met een commentaar (beginnend met '#') worden genegeerd.

Sla geünificeerde uitvoer op als patchbestand

diff -u old_file.txt new_file.txt > changes.patch

Toont de verschillen tussen twee bestanden in geünificeerd formaat en slaat de resultaten op in het bestand 'changes.patch'. Dit bestand kan worden toegepast met het 'patch' commando.

Tips & Aandachtspunten

Tips voor het effectief interpreteren en gebruiken van de uitvoer van diff -u.

Hoe de geünificeerde uitvoer te interpreteren

De uitvoer van diff -u gebruikt de volgende symbolen om wijzigingen aan te geven:

  • --- (drie koppeltekens): Geeft het pad en de tijdstempel van het originele (oude) bestand aan.
  • +++ (drie plustekens): Geeft het pad en de tijdstempel van het nieuwe bestand aan.
  • @@ -OLD_START,OLD_COUNT +NEW_START,NEW_COUNT @@: 'Chunk header' die het regelnummer en bereik in het bestand aangeeft waar de wijziging plaatsvond.
  • - (koppelteken): Een regel die alleen in het originele bestand voorkomt, wat een verwijderde regel aangeeft.
  • + (plusteken): Een regel die alleen in het nieuwe bestand voorkomt, wat een toegevoegde regel aangeeft.
  • (spatie): Een regel die in beide bestanden voorkomt, wat een contextregel zonder wijziging aangeeft.

Integratie met het patch commando

De uitvoer gegenereerd door diff -u kan worden gebruikt als invoer voor het `patch` commando. Hiermee kunnen wijzigingen van het ene bestand eenvoudig worden toegepast op een ander bestand of worden teruggedraaid. Bijvoorbeeld, na het genereren van een patchbestand met het commando `diff -u old_file new_file > changes.patch`, kunt u de wijzigingen in `changes.patch` toepassen op `old_file` met het commando `patch -p0 < changes.patch` om het identiek te maken aan `new_file`.


gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.


Hétzelfde categoriecommando