Diff -kommandoeksempler i Linux

Diff -kommandoeksempler i Linux
DIFF -kommandoen er en analyse eller informativ kommando som skriver ut forskjeller mellom filer, analyserer dem linje for linje, eller kataloger rekursivt mens du informerer brukeren hvilke endringer som er nødvendige for å gjøre filer til å være likeverdige, er dette poenget viktig for å forstå diff -utganger. Denne opplæringen fokuserer på diff -kommandoen.

Før du starter, oppretter du to filer ved hjelp av hvilken som helst tekstredigerer (Nano brukes i denne opplæringen) med samme innhold:

# nano diffsample1

Innvendig lime:

 Linuxhint publiserer det beste innholdet for deg 

trykk Ctrl+X og Y for å lagre og avslutte.

Opprett en andre fil som heter DiffSample2 med samme innhold:

# nano diffsample2

Merk: Vær oppmerksom på mellomrom og faner, filer må være 100% like.

trykk Ctrl+X og Y for å lagre og avslutte.

# diff diffsample1 diffsample2

Som du ser er det ingen utdata, ingen grunn til å gjøre noe for å gjøre filer like fordi de allerede er like.

La oss nå redigere filen Diffsample2 for å gjøre noen endringer:

# nano diffsample2

La oss deretter erstatte ordet "innhold" for "tips":

trykk Ctrl+X og Y For å lagre og avslutte.

Kjør nå:

# diff diffsample1 diffsample2

La oss se utgangen:

Utgangen over, “3C3” betyr “linje 3 i den første filen av bør erstattes for linje 3 i andre fil”. Den vennlige delen av utgangen er at den viser oss hvilken tekst som må endres (“Innhold for deg”For“tips for deg)

Dette viser oss referansen for kommandoen Diff er ikke den første filen, men den andre, det er grunnen til at den første filen til filen (den første 3) må endres (c) som den tredje linjen i den andre filen (andre 3).

Kommandoen Diff kan vise 3 tegn:

c: Denne karakteren instruerer en Endring må gjøres.
en: Denne karakteren instruerer at noe må være La til.
d: Denne karakteren instruerer at noe må være Slettet.

De første tallene før en tegn tilhører den første filen, mens tallene etter tegn tilhører den andre filen.

Symbolet til den andre filen som brukes som referanse.

La oss invertere filenes bestilling, i stedet for å kjøre

# diff diffsample1 diffsample2

løpe:

# diff diffsample2 diffsample1

Du kan se hvordan ordren ble omvendt, og nå brukes diffsample1 -filen som referanse, og den instruerer oss om å endre "tips for deg" for "innhold for deg", dette var den forrige utdata:

La oss nå redigere filen DiffSample1 slik:

Fjern alle linjer, bortsett fra den første linjen på filen DiffSample1. Løp deretter:

# diff diffsample2 diffsample1

Som du kan se, siden vi brukte filen DiffSample1 som referanse, for å gjøre filen Diffsample2 nøyaktig lik vi trenger å slette (d) Linjer to og tre (2,3) som i den første filen og første linjer (1) vil være lik.

La oss nå invertere bestillingen og i stedet for å løpe "# diff diffsample2 diffsample1 ” løpe:

# diff diffsample1 diffsample2

Som du kan se, mens det forrige eksemplet instruerte oss om å fjerne, instruerer dette oss å legge til (en) Linjer 2 og 3 etter den første filen første linje (1).

La oss nå jobbe med saken sensitiv eiendom til dette programmet.

Rediger filen DiffSample2 som:

Og rediger filen diffsample1 som:

Den eneste forskjellen er de store bokstavene på filen Diffsample2. La oss nå sammenligne det ved å bruke Diff igjen:

# diff diffsample1 diffsample2

Som du ser diff funnet forskjeller, de store bokstavene, unngår vi diff å oppdage store bokstaver, hvis vi ikke er interessert i saken følsomme ved å legge til -Jeg alternativ:

# diff -i diffsample1 diffsample2

Ingen forskjeller ble funnet, saksdeteksjonen ble deaktivert.

La oss nå endre utgangsformatet ved å legge til alternativet -u Brukes til å skrive ut enhetlige utganger:

I tillegg, til dags dato og tid, viser utdataene med en - og + symbol hva som skal fjernes og hva som skal legges til for å gjøre filer like.

I starten av denne artikkelen sa jeg at mellomrom og faner må være like i begge filene, siden de også blir oppdaget av kommandoen Diff, hvis vi vil at kommandoen diff skal ignorere mellomrom og faner, må vi bruke -w alternativ.

Åpne filen Diffsample2 og legg til mellomrom og faner:

Som du ser la jeg til et par faner etter “The Best” i den andre linjen og også mellomrom i alle linjer, lukk, lagre filen og kjør:

# diff diffsample1 diffsample2

Som du kan se ble det funnet forskjeller, i tillegg til store bokstaver. La oss nå bruke alternativet -w For å instruere Diff å ignorere blanke mellomrom:

Som du ser til tross for tabuleringen, er det bare funnet som forskjell de store bokstavene.
La oss nå legge til alternativet -Jeg igjen:

#diff -wi diffsample2 diffsample1

Kommandoen Diff har dusinvis av tilgjengelige alternativer for å gjelde for å ignorere, endre utgangen, diskriminere kolonner når de er til stede osv. Du kan få tilleggsinformasjon om disse alternativene ved å bruke Man -kommandoen, eller på http: // man7.org/linux/mann-sider/man1/diff.1.html. Jeg håper du fant denne artikkelen med diff -kommandoeksempler i Linux nyttig. Fortsett å følge Linuxhint for flere tips og oppdateringer om Linux og nettverksbygging.