Cmp
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.