Diff

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

diff - Jämför filskillnader rad för rad

Kommandot `diff` används för att jämföra skillnader mellan filer rad för rad.

Syntax

diff [ALTERNATIV] FIL1 FIL2

Beskrivning

Kommandot `diff` jämför innehållet i två filer rad för rad och visar skillnaderna mellan dem. Det är ett kraftfullt verktyg för att identifiera ändringar i textfiler, vilket gör det oumbärligt för utveckling och versionskontroll.

Alternativ

Kommandot `diff` stöder flera alternativ som kan användas för att justera dess beteende:

  • -a, --text - Behandla alla filer som textfiler.
  • -b, --ignore-space-change - Ignorera ändringar i mängden vita tecken.
  • -B, --ignore-blank-lines - Ignorera tomma rader.
  • -c, --context[=NUM] - Visa NUM rader av kontext.
  • -C, --context[=NUM] - Samma som -c.
  • -d, --minimal - Gör en minimal förändringsanalys.
  • -D, --ifdef=NAME - Generera ett C-preprocessor villkorligt.
  • -e, --ed - Generera en redigeringsskript för `ed`.
  • -f, --forward-ed - Generera en redigeringsskript i omvänd ordning.
  • -F, --show-function-line=RE - Visa funktionslinjer som matchar RE.
  • --from-file=FIL - Jämför från FIL.
  • -H, --speed-large-files - Hantera stora filer snabbare.
  • -i, --ignore-case - Ignorera skillnader i versaler/gemener.
  • --ignore-file-name-case - Ignorera versaler/gemener i filnamn.
  • --no-ignore-file-name-case - Respektera versaler/gemener i filnamn.
  • --label=ETIKETT - Använd ETIKETT istället för filnamn.
  • -l, --paginate - Skicka utdata genom `pr` för paginering.
  • -L, --paginate - Samma som -l.
  • -n, --rcs - Generera en RCS-formaterad diff.
  • -N, --new-file - Behandla saknade filer som tomma.
  • --normal - Generera en normal diff (standard).
  • -p, --show-c-function - Visa vilken C-funktion varje förändring befinner sig i.
  • -q, --brief - Rapportera endast om filer skiljer sig.
  • -r, --recursive - Jämför kataloger rekursivt.
  • -s, --report-identical-files - Rapportera när filer är identiska.
  • -S, --starting-file=FIL - Börja med att jämföra FIL.
  • --strip-trailing-cr - Ta bort vagnreturer från slutet av varje rad.
  • -t, --expand-tabs - Expandera tabbar till mellanslag.
  • -T, --initial-tab - Gör indrag med tabbar.
  • -u, --unified[=NUM] - Visa NUM rader av sammanslagen kontext.
  • -U, --unified[=NUM] - Samma som -u.
  • -v, --version - Visa versionsinformation och avsluta.
  • -w, --ignore-all-space - Ignorera alla vita tecken.
  • -W, --width=NUM - Ange maximal radbredd för utdata.
  • -x, --exclude=PATTERN - Uteslut filer som matchar PATTERN.
  • -X, --exclude-from=FIL - Läs mönster från FIL.
  • -y, --side-by-side - Visa jämförelse sida vid sida.
  • -Y, --side-by-side - Samma som -y.
  • --left-column - Visa endast skillnader från vänster fil.
  • --suppress-common-lines - Visa inte gemensamma rader i sida vid sida.

Exempel

Här är några praktiska exempel som visar hur du kan använda `diff`-kommandot:

  • För att jämföra två filer:

diff fil1.txt fil2.txt

  • För att ignorera ändringar i mängden vita tecken:

diff -b fil1.txt fil2.txt

  • För att visa en sammanhållen diff med tre rader av kontext:

diff -u=3 fil1.txt fil2.txt

  • För att jämföra kataloger rekursivt:

diff -r katalog1 katalog2

  • För att visa skillnader sida vid sida:

diff -y fil1.txt fil2.txt

Skillnader mellan macOS och Linux

Det finns några skillnader att tänka på när man använder `diff` på macOS jämfört med Linux:

Tillgänglighet: `diff`-kommandot är tillgängligt på både macOS och Linux. På båda plattformarna är `diff` en del av standardverktygen. Alternativ: De flesta alternativ som finns på `diff` är tillgängliga på både macOS och Linux, men det rekommenderas att konsultera `man`-sidan på respektive plattform för att bekräfta tillgängliga alternativ och eventuella skillnader.

Exempel på att använda `diff` på macOS:

  • För att jämföra två filer:

diff fil1.txt fil2.txt

Det är alltid bra att konsultera `man`-sidan för `diff` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `diff`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att filerna du försöker jämföra existerar och är tillgängliga.
  • Att du har nödvändiga behörigheter för att läsa filerna.

Se även

  • cmp - Jämför två filer byte för byte.
  • comm - Jämför två sorterade filer rad för rad.
  • patch - Applicera en diff-fil på originalfiler.

Källor


Sidslut


Det här är en maskinöversättning av kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webserver.