„Linux“ komandos

diff komandų pavyzdžiai sistemoje „Linux“

diff komandų pavyzdžiai sistemoje „Linux“
„Dif“ komanda yra analizės arba informacinė komanda, kuri spausdina failų skirtumus, analizuodama juos eilutėmis arba katalogus rekursyviai, tuo pačiu informuodama vartotoją, kokie pakeitimai yra būtini, kad failai būtų lygūs. Šioje pamokoje daugiausia dėmesio skiriama komandai „diff“.

Prieš pradėdami sukurkite du failus naudodami bet kurį teksto rengyklę (šioje mokymo programoje naudojamas „nano“) su tuo pačiu turiniu:

# nano diffsample1

Vidinė pasta:

 „LinuxHint“ skelbia jums geriausią turinį 

Paspauskite CTRL+X ir Y išsaugoti ir išeiti.

Sukurkite antrą failą, pavadintą diffsample2 su tuo pačiu turiniu:

# nano diffsample2

Pastaba: atkreipkite dėmesį į tarpus ir skirtukus, failai turi būti 100% lygūs.

Paspauskite CTRL+X ir Y išsaugoti ir išeiti.

# diffsample1 diffsample2

Kaip matote, nėra išvesties, nereikia nieko daryti, kad failai būtų vienodi, nes jie jau yra lygūs.

Dabar leidžia redaguoti failo diffsample2, kad būtų atlikti tam tikri pakeitimai:

# nano diffsample2

Tada pakeiskime žodį „turinys“ į „patarimai“:

Paspauskite CTRL+X ir Y išsaugoti ir išeiti.

Dabar paleiskite:

# diffsample1 diffsample2

Leidžia pamatyti išvestį:

Išvestis aukščiau, „3c3“ reiškia „Pirmojo failo 3 eilutė turėtų būti pakeista antrosios bylos 3 eilutėje“. Draugiška išvesties dalis rodo, koks tekstas turi būti pakeistas („turinys jums" dėl "patarimai jums“)

Tai rodo, kad komandos diff nuoroda nėra pirmasis failas, bet antrasis, todėl pirmoji failo trečioji eilutė (pirmosios 3) turi būti pakeista (C) kaip trečioji antrojo failo eilutė (antroji 3).

Komandos diff gali rodyti 3 simbolius:

c: šis veikėjas nurodo a Keisti privalo būti atliktas.
a: šis personažas nurodo, kad kažkas turi būti Pridėta.
d: šis personažas nurodo, kad kažkas turi būti Ištrinta.

Pirmieji skaičiai prieš simbolius priklauso pirmajam failui, o skaičiai po simbolių - antram failui.

Simbolis < belongs to the first file and the symbol > į antrą bylą, kuri naudojama kaip nuoroda.

Apverskime failų tvarką, užuot paleidę

# diffsample1 diffsample2

paleisti:

# diffsample2 diffsample1

Galite pamatyti, kaip užsakymas buvo pakeistas, o dabar failas „diffsample1“ naudojamas kaip nuoroda, ir jis nurodo mums pakeisti „patarimus jums“ dėl „turinio jums“, tai buvo ankstesnė išvestis:

Dabar redaguokime failo diffsample1 taip:

Pašalinkite visas eilutes, išskyrus pirmąją failo diffsample1 eilutę. Tada paleiskite:

# diffsample2 diffsample1

Kaip matote, kadangi failą diffsample1 naudojome kaip nuorodą, kad failas diffsample2 būtų lygus, turime ištrinti (d) antros ir trečios eilutės (2,3), kaip pirmame faile ir pirmose eilutėse (1) bus lygūs.

Dabar leidžia pakeisti tvarką ir užuot paleidus „# diffsample2 diffsample1 " paleisti:

# diffsample1 diffsample2

Kaip matote, nors ankstesniame pavyzdyje buvo nurodyta pašalinti, šis nurodo pridėti (a) 2 ir 3 eilutės po pirmosios bylos pirmosios eilutės (1).

Dabar dirbkime su didžiosios ir mažosios raidės šios programos nuosavybe.

Redaguokite failo diffsample2 pavyzdį:

Redaguokite failo diffsample1 failą taip:

Vienintelis skirtumas yra didžiosios raidės failo diffsample2. Dabar vėl galime palyginti naudodami diff:

# diffsample1 diffsample2

Kaip matote diff nustatytus skirtumus, didžiosios raidės, vengiame diff aptikti didžiąsias raides, jei mūsų nedomina didžiosios ir mažosios raidės, pridėdami -i variantas:

# diff-i diffsample1 diffsample2

Skirtumų nerasta, atvejų aptikimas buvo išjungtas.

Dabar pakeiskime išvesties formatą, pridėdami parinktį -u naudojamas vieningiems išvestims spausdinti:

Be to, iki datos ir laiko išvestis rodoma su a - ir + simbolis, ką reikia pašalinti ir ką pridėti, kad failai būtų lygūs.

Šio straipsnio pradžioje sakiau, kad tarpai ir skirtukai turi būti vienodi abiejuose failuose, nes juos taip pat aptinka komanda diff, jei norime, kad komandos diff ignoruotų tarpus ir skirtukus, turime pritaikyti -w variantą.

Atidarykite failą diffsample2 ir pridėkite tarpų bei skirtukų:

Kaip matote, aš pridėjau keletą skirtukų po „geriausio“ antroje eilutėje ir tarpų visose eilutėse, uždarykite, išsaugokite failą ir paleiskite:

# diffsample1 diffsample2

Kaip matote, be didžiųjų raidžių, buvo rasti skirtumai. Dabar leidžia pritaikyti parinktį  -w nurodyti diff nepaisyti tuščių vietų:

Nepaisant lentelių, matote, kad skirtumas yra tik didžiųjų raidžių skirtumas.
Dabar vėl pridėkime parinktį -i:

#diff -wi diffsample2 diffsample1

Komandos diff turi daugybę galimų parinkčių, kad būtų galima ignoruoti, pakeisti išvestį, išskirti stulpelius, kai jie yra, ir tt. Galite gauti papildomos informacijos apie šias parinktis naudodami komandą vyras arba http: // vyras7.org / linux / man-pages / man1 / diff.1.HTML. Tikiuosi, kad šis straipsnis su „diff“ komandų pavyzdžiais „Linux“ jums buvo naudingas. Toliau sekite „LinuxHint“, kad gautumėte daugiau patarimų ir naujinių apie „Linux“ ir tinklus.

„Tomb Raider for Linux“ pamoka
„Tomb Raider“ šešėlis yra dvyliktas „Tomb Raider“ serijos priedas - veiksmo ir nuotykių žaidimų franšizė, sukurta „Eidos Montreal“. Žaidimą kritikai i...
Kaip padidinti FPS sistemoje „Linux“?
FPS reiškia Kadrai per sekundę. FPS užduotis yra išmatuoti kadrų greitį atkuriant vaizdo įrašus ar žaidimus. Paprastais žodžiais, nepertraukiamų viso ...
Populiariausi „Oculus App Lab“ žaidimai
Jei esate „Oculus“ laisvų rankų įrangos savininkas, turite žinoti, kaip krauti iš šono. Šoninis įkėlimas yra ne parduotuvėje esančio turinio įdiegimas...