Linux Diff-kommando

Linux Diff Kommando



Skillnaden är mer sannolikt ett koncept eller en känsla som kan skilja en sak från en annan. Kommandot 'diff' hänvisar till variation. Genom att analysera dokumenten rad för rad visar det här verktyget skillnaderna mellan filerna. Den informerar oss om vilka avsnitt i ett dokument som behöver ändras för att skapa liknande dokument, till skillnad från dess kompletterande element cmp och comm. Den avgörande aspekten att komma ihåg är att för att dokumenten ska vara lika använder diff specifika specialsymboler och kommandon. Du får instruktioner om hur du ändrar det första dokumentet så att det överensstämmer med det andra dokumentet. I den här guiden kommer vi att diskutera användningen av kommandot 'diff' i Ubuntu 20.04 med Linux-terminalen.

Vi har skapat två textfiler i arbetsmappen i vårt system.









Det är dags att använda 'diff'-instruktionen i ett frågeområde för att visa skillnaden mellan båda filinnehållet. Vi provar den här 'diff'-instruktionen med båda filnamnen i en sekvens, dvs one.txt först och sedan two.txt-filen. Kommandot 'diff' visar oss skillnaden mellan de båda filerna som:



  • Radnummer enligt den första textfilen.
  • Specialtecken/symboler för att låta oss veta skillnaden som ändra, lägg till, ta bort.
  • Radnummer enligt den andra textfilen.

I vår första illustration utvecklar vi 'a'-symbolen bland radnumren för kommandot 'diff'; 'a' används som förkortning av 'Lägg till'. Användningen av 'cat'-instruktionen med båda filnamnen i frågeområdet visar innehållet i varje textfil separat, det vill säga one.txt och two.txt. Vi har totalt 4 rader i den första filen medan den andra filen innehåller 5 rader. Linje 1 är extra.





Sedan försöker vi 'diff'-instruktionen i terminalens frågeområde följt av namnen på filerna - one.txt och two.txt. Utförandet av denna instruktion visar '0a1' som utdata tillsammans med rad 1 från den andra filen som är en extra rad i den andra filen. Det numeriska värdet '0' används för rad 0 eller före rad 1 i den första filen, dvs one.txt. Symbolen 'a' betyder 'lägg till'. Slutligen betyder det numeriska värdet '1' den första raden i den andra filen. Mixutgången '0d1' betyder att rad 1 i den andra filen 'two.txt' ska läggas till överst i den första filen 'one.txt' innan den första raden två gör båda filerna likadana.



Nu uppdaterar vi båda filerna för att se en annan illustration. Den första filen 'one.txt' innehåller 4 rader och den andra filen 'two.txt' innehåller endast 3 rader. Den enda skillnaden för dessa filer är användningen av en extra rad i den första filen, dvs rad 1 = 'måndag' som inte finns i den andra filen. Efter att ha provat 'diff'-instruktionen för de uppdaterade textfilerna får vi '1d0' som utdata. Och den första raden från den första filen visas. I '1d0' betyder 1 att den första raden från filen 'one.txt' ska tas bort (enligt symbolen 'd'), och 0 betyder att den andra filen inte fick någon uppdatering. Till slut visas rad 1 från den första filen 'one.txt' för den tydliga skillnaden.

På samma sätt kan kommandot 'diff' visa en skillnad mellan raderna i två filer. Därför uppdaterar vi båda textfilerna igen. Den här gången innehåller den första filen 5 rader medan den andra filen bara innehåller 4. Den enda skillnaden är användningen av en extra rad i one.txt som är rad 3. Kommandot diff som används på båda filerna i terminalen visar en mata ut '3d2' tillsammans med rad 3 från den första filen 'one.txt'. Denna utdata visar att rad 3 från den första filen 'one.txt' bör tas bort så att vi kan synkronisera båda filerna på rad 2 i den andra filen. Den olika raden '3' visas så att vi kan få en tydlig uppfattning om skillnaden.

Låt oss ta en tydlig och djupare titt på resultatet. 1,5c1,2-utgången från följande bild visar att raderna 1 till 5 i en första fil (one.txt) bör ändras med raderna 1 till 2 i en andra fil (two.txt). Det betyder att de första 5 raderna (1 till 5) i one.txt-filen bör ändras och ersättas med de två första raderna (1, 2) i den andra filen 'two.txt' för att göra det samma. Till slut visas alla 5 raderna från den första filen som bör ersättas med de visade 2 raderna i den andra filen. Så här visar symbolen 'c' skillnaden mellan två filer - ingen linje är densamma i båda filerna.

Kommandot 'diff' låter dig få dess utdata i en kontextform. Föreställ dig att du har samma två filer med följande data i dessa filer. Sammanhanget kring utgången skulle vara att visa huvudskillnaden mellan de totala enkla filerna som visas i följande bild. Nu har vi 5 rader i den första filen 'one.txt' och 4 rader i den andra filen 'two.txt'.

För att få den kontextbaserade utdata från 'diff'-instruktionen måste vi använda alternativet '-c' inom kommandot 'diff'. Genom att använda de tidigare uppdaterade filerna i detta 'diff'-kommando får vi följande utdata - datum, dag, tillsammans med extra information om textskapandet i filerna. De 5 raderna från one.txt-filerna visas. Framför allt är dess tredje rad markerad med '-'-tecknet för att bara lägga till den i en annan fil.

Slutsats

Vi försökte kort förklara allt om 'diff'-instruktionen. För detta uppdaterade vi våra textfiler varje gång och fick en uppdaterad utdata för att lägga till, ta bort och ändra data i en fil. Introduktionen förklarade syftet med att använda kommandot 'diff' i Linux och hur man använder det för Linux.