Linux Diff-kommando

Linux Diff Kommando



Forskjellen er mer sannsynlig å være et konsept eller følelse som kan skille en ting fra en annen. 'diff'-kommandoen refererer til variasjon. Ved å analysere dokumentene linje for linje, demonstrerer dette verktøyet forskjellene mellom filene. Den informerer oss om hvilke deler i ett dokument som må endres for å lage dokumentene lignende, i motsetning til følgeelementene cmp og comm. Det avgjørende aspektet å huske på er at for at dokumentene skal være like, bruker diff spesifikke spesielle symboler og kommandoer. Du får instruksjoner om hvordan du endrer det første dokumentet slik at det stemmer overens med det andre dokumentet. I denne veiledningen vil vi diskutere bruken av 'diff'-kommandoen i Ubuntu 20.04 ved å bruke Linux-terminalen.

Vi har laget to tekstfiler i arbeidsmappen til systemet vårt.









Det er på tide å bruke 'diff'-instruksjonen i et spørreområde for å vise forskjellen mellom begge filinnholdet. Vi prøver denne 'diff'-instruksjonen med begge filnavnene i en sekvens, dvs. én.txt først og deretter to.txt-fil. Kommandoen 'diff' viser oss forskjellen mellom begge filene som:



  • Linjenummer i henhold til den første tekstfilen.
  • Spesialtegn/symboler for å fortelle oss om forskjellen som endre, legge til, slette.
  • Linjenummer i henhold til den andre tekstfilen.

I vår første illustrasjon utdyper vi 'a'-symbolet blant linjenumrene til 'diff'-kommandoutgangen; 'a' brukes som forkortelsen for 'Legg til'. Bruken av 'cat'-instruksjonen med begge filnavnene i søkeområdet viser innholdet i hver tekstfil separat, dvs. one.txt og two.txt. Vi har totalt 4 linjer i den første filen mens den andre filen inneholder 5 linjer. Linje 1 kommer i tillegg.





Deretter prøver vi 'diff'-instruksjonen på terminalspørreområdet etterfulgt av navnene på filene - one.txt og two.txt. Utførelsen av denne instruksjonen viser '0a1' som utdata sammen med linje 1 fra den andre filen som er en ekstra linje i den andre filen. Den numeriske verdien '0' brukes for linje 0 eller før linje 1 i den første filen, dvs. one.txt. Symbolet 'a' betyr 'legg til'. Til slutt betyr den numeriske verdien '1' den første linjen i den andre filen. Blandingsutgangen '0d1' betyr at linje 1 i den andre filen 'two.txt' skal legges til øverst i den første filen 'one.txt' før den første linje to gjør begge filene like.



Nå oppdaterer vi begge filene for å se en annen illustrasjon. Den første filen 'one.txt' inneholder 4 linjer og den andre filen 'two.txt' inneholder bare 3 linjer. Den eneste forskjellen for disse filene er bruken av en ekstra linje i den første filen, dvs. linje 1 = 'mandag' som ikke er i den andre filen. Etter å ha prøvd 'diff'-instruksjonen for de oppdaterte tekstfilene, får vi '1d0' som utdata. Og den første linjen fra den første filen vises. I '1d0' betyr 1 at den første linjen fra filen 'one.txt' skal slettes (i henhold til symbolet 'd'), og 0 betyr at den andre filen ikke fikk noen oppdatering. Til slutt vises linje 1 fra den første filen 'one.txt' for den klare forskjellen.

På samme måte kan 'diff'-kommandoen vise en forskjell mellom linjene i to filer. Derfor oppdaterer vi begge tekstfilene igjen. Denne gangen inneholder den første filen 5 linjer mens den andre filen bare inneholder 4. Den eneste forskjellen er bruken av en ekstra linje i one.txt som er linje 3. Diff-kommandoen som brukes på begge filene i terminalen viser en ut '3d2' sammen med linje 3 fra den første filen 'one.txt'. Denne utgangen viser at linje 3 fra den første filen 'one.txt' bør slettes slik at vi kan synkronisere begge filene på linje 2 i den andre filen. Den forskjellige linjen '3' vises slik at vi kan få en klar ide om forskjellen.

La oss ta en klar og dypere titt på utgangen. 1,5c1,2-utdataene fra følgende bilde viser at linjene 1 til 5 i en første fil (one.txt) bør endres med linje 1 til 2 i en andre fil (two.txt). Det betyr at de første 5 linjene (1 til 5) i one.txt-filen bør endres og erstattes med de to første linjene (1, 2) i den andre filen 'two.txt' for å gjøre det samme. Til slutt vises alle 5 linjene fra den første filen som bør erstattes med de viste 2 linjene i den andre filen. Dette er hvordan symbolet 'c' forteller forskjellen mellom to filer - ingen linje er lik i begge filene.

Kommandoen 'diff' lar deg få utdata i en kontekstform. Tenk deg at du har de samme to filene med følgende data i disse filene. Konteksten rundt utdataene vil være å vise hovedforskjellen mellom de totale enkle filene som vises i bildet nedenfor. Nå har vi 5 linjer i den første filen 'one.txt' og 4 linjer i den andre filen 'two.txt'.

For å få den kontekstbaserte utgangen av 'diff'-instruksjonen, må vi bruke '-c'-alternativet i 'diff'-kommandoen. Ved å bruke de tidligere oppdaterte filene i denne 'diff'-kommandoen, får vi følgende utdata - dato, dag, sammen med ekstra informasjon om tekstopprettingen i filene. De 5 linjene fra one.txt-filene vises. Spesielt er den tredje linjen uthevet ved å bruke tegnet '-' for å bare legge den til en annen fil.

Konklusjon

Vi prøvde å kort forklare alt om 'diff'-instruksjonen. For dette oppdaterte vi tekstfilene våre hver gang og fikk en oppdatert utgang for å legge til, fjerne og endre dataene i en fil. Introduksjonen forklarte formålet med å bruke 'diff'-kommandoen i Linux og hvordan du bruker den for Linux.