Ukazi za Linux

Primeri ukazov diff v Linuxu

Primeri ukazov diff v Linuxu
Ukaz diff je analizni ali informativni ukaz, ki tiska razlike med datotekami, jih analizira vrstice za vrstico ali imeniki, medtem ko uporabnika obvešča, katere spremembe so potrebne, da datoteke postanejo enake. Ta točka je pomembna za razumevanje izhodov razlik. Ta vadnica se osredotoča na ukaz diff.

Pred začetkom ustvarite dve datoteki s katerim koli urejevalnikom besedila (v tej vadnici je uporabljen nano) z isto vsebino:

# nano diffsample1

Notranja pasta:

 LinuxHint objavlja najboljšo vsebino za vas 

Pritisnite CTRL+X in Y za shranjevanje in izhod.

Ustvarite drugo datoteko z imenom diffsample2 z isto vsebino:

# nano diffsample2

Opomba: bodite pozorni na presledke in zavihke, datoteke morajo biti 100% enake.

Pritisnite CTRL+X in Y za shranjevanje in izhod.

# diff diffsample1 diffsample2

Kot lahko vidite, ni nobenega izhoda, ni treba storiti ničesar, da bi bile datoteke enake, ker so že enake.

Zdaj lahko uredimo datoteko diffsample2, da naredimo nekaj sprememb:

# nano diffsample2

Potem zamenjajmo besedo "vsebina" za "nasveti":

Pritisnite CTRL+X in Y shranite in zapustite.

Zdaj zaženite:

# diff diffsample1 diffsample2

Oglejmo si rezultat:

Zgornji izhod "3c3" pomeni "Vrstico 3 prve datoteke je treba nadomestiti z vrstico 3 druge datoteke". Prijazen del izhoda je, da nam pokaže, katero besedilo je treba spremeniti ("vsebino za vas"Za"nasveti za vas")

To nam kaže, da referenca za ukaz diff ni prva datoteka, ampak druga, zato je treba prvo datoteko v tretji vrstici (prva 3) spremeniti (C) kot tretjo vrstico druge datoteke (druga 3).

Ukaz diff lahko prikaže 3 znake:

c: ta znak poučuje a Sprememba je treba storiti.
a: ta lik naroča, da mora biti nekaj Dodano.
d: ta lik naroča, da mora biti nekaj Izbrisano.

Prve številke pred znaki pripadajo prvi datoteki, medtem ko številke za znaki pripadajo drugi datoteki.

Simbol < belongs to the first file and the symbol > na drugo datoteko, ki se uporablja kot referenca.

Zamenjajmo vrstni red datotek, namesto da bi se zagnali

# diff diffsample1 diffsample2

teči:

# diff diffsample2 diffsample1

Ogledate si lahko, kako je bil vrstni red obrnjen in zdaj je datoteka diffsample1 uporabljena kot referenca in nam naroča, naj spremenimo »nasvete za vas« za »vsebino za vas«, to je bil prejšnji izhod:

Zdaj pa uredimo datoteko diffsample1 takole:

Odstranite vse vrstice, razen prve vrstice v datoteki diffsample1. Nato zaženite:

# diff diffsample2 diffsample1

Kot lahko vidite, ker smo datoteko diffsample1 uporabili kot referenco, moramo datoteko diffsample2 natančno izenačiti (d) vrstici dve in tri (2,3) kot v prvi datoteki in prvih vrsticah (1) bo enako.

Zdaj lahko obrne vrstni red in namesto da zažene “# diff diffsample2 diffsample1 " teči:

# diff diffsample1 diffsample2

Kot lahko vidite, medtem ko nam je prejšnji primer naročil, naj ga odstranimo, pa ta dodaja (a) vrstici 2 in 3 za prvo vrstico datoteke (1).

Zdaj pa pojdimo na lastnost tega programa, občutljivo na velike in male črke.

Uredite datoteko diffsample2, kot je:

In datoteko diffsample1 uredite kot:

Edina razlika so velike črke v datoteki diffsample2. Zdaj ga primerjamo z uporabo znova znova

# diff diffsample1 diffsample2

Kot lahko vidite razlike, ugotovljene razlike, velike tiskane črke, izogibamo se zaznavanju razlik v velikih črkah, če nas ne zanimajo velike in male črke, tako da dodate -jaz možnost:

# diff -i diffsample1 diffsample2

Razlik ni bilo mogoče najti, odkrivanje primerov je bilo onemogočeno.

Zdaj spremenimo izhodni format z dodajanjem možnosti -u uporablja se za tiskanje enotnih izhodov:

Poleg tega se do datuma in ure rezultat prikaže z - in + simbol, kaj je treba odstraniti in kaj dodati, da bodo datoteke enake.

Na začetku tega članka sem rekel, da morajo biti presledki in zavihki v obeh datotekah enaki, saj jih zazna tudi ukaz diff, če želimo, da ukaz diff ignorira presledke in zavihke, moramo uporabiti -w možnost.

Odprite datoteko diffsample2 in dodajte presledke in zavihke:

Kot vidite, sem dodal nekaj zavihkov za »najboljši« v drugi vrstici in tudi presledke v vseh vrsticah, zaprite, shranite datoteko in zaženite:

# diff diffsample1 diffsample2

Kot lahko vidite, so bile poleg velikih tiskanih črk ugotovljene tudi razlike. Zdaj lahko uporabimo možnost  -w za navodila različici, da prezre prazne prostore:

Kot vidite, je kljub tabelarični razliki najdeno le razlika kot velike tiskane črke.
Zdaj pa znova dodajte možnost -i:

#diff -wi diffsample2 diffsample1

Ukaz diff ima na voljo na desetine možnosti za prezrtje, spreminjanje izhoda, razlikovanje stolpcev, ko so prisotni itd. Dodatne informacije o teh možnostih lahko dobite z ukazom man ali na http: // man7.org / linux / man-pages / man1 / diff.1.html. Upam, da se vam je ta članek s primeri ukazov diff v Linuxu zdel koristen. Še naprej sledite LinuxHint za več nasvetov in posodobitev o Linuxu in mreženju.

Vadnica za OpenTTD
OpenTTD je ena izmed najbolj priljubljenih poslovnih simulacijskih iger. V tej igri morate ustvariti čudovit prevozniški posel. Vendar boste začeli na...
SuperTuxKart za Linux
SuperTuxKart je odličen naslov, zasnovan tako, da vam brezplačno ponuja izkušnjo Mario Kart v vašem sistemu Linux. Igrati je precej zahtevno in zabavn...
Vadnica za bitko za Wesnoth
Bitka za Wesnoth je ena izmed najbolj priljubljenih odprtokodnih strateških iger, ki jih lahko trenutno igrate. Ne samo, da se ta igra razvija že zelo...