grep

„Grep“ už kelis modelius ar stygas

„Grep“ už kelis modelius ar stygas
„Global Regular Expression Print“ arba „Grep“ yra galingas įrankis, naudojamas „Linux“ operacinėje sistemoje. Naudodamiesi „grep“, galite ieškoti iš skirtingų šablonų ar eilučių failų taikydami apribojimus. Grep funkcija reikalauja vieno ar daugiau įvesties failų ieškoti kataloguose ar pakatalogiuose. Norėdami ieškoti daugybės modelių, mes naudojame operatorių OR. Šis operatorius naudojamas komandoje užrašytiems šablonams atskirti. Pakeitimo operatorius „|“ yra naudojamas su pasviruoju brūkšniu. Skirtingos reguliariosios išraiškos paieškos sintaksė yra tokia:

Sintaksė

$ grep 'pattern1 \ | pattern2' failo vardas

Reguliarus posakis visada rašomas viena citata. Du vardai yra atskirti atgaliniu pasviruoju brūkšniu ir keitimo operatoriumi. Komanda baigiama failo pavadinimu. Atliekant „grep“ rekursyvą, vietoj vieno failo pavadinimo naudojamas katalogas arba visas kelias.

Būtina sąlyga

Šiame straipsnyje sužinosime „grep“ funkcionalumą ieškant kelių šablonų ir eilučių. Šiuo tikslu virtualioje dėžutėje turite veikti „Linux“ operacinę sistemą. Turite jį įdiegti savo sistemoje. Po konfigūracijos turėsite prieigą prie visų programų naudojimo. Prisijungę prie vartotojo, pateikdami slaptažodį, eikite į terminalo apvalkalo komandinę eilutę ir tęskite.

Ieškokite pagal kelis modelius faile naudodami „Grep“

Jei norime ieškoti kelių tam tikro failo šablonų ar eilučių, naudokite „grep“ funkciją, kad surūšiuotumėte faile naudodami daugiau nei vieną įvesties žodį komandoje. Mes naudojame „\ |“ operatorių komandai atskirti du modelius.

$ grep 'techninė \ | darbo' filea.txt

Komanda nurodo, kaip veikia grep. Abiejų paminėtų failų bus ieškoma filea.txt. Ieškomi žodžiai paryškinami visame išvesties tekste.

Norėdami ieškoti daugiau nei dviejų žodžių, mes ir toliau juos pridėsime tuo pačiu metodu.

$ grep 'graphic \ | photoshop \ | plakatai' fileb.txt

Ieškokite kelių eilučių, nepaisydami didžiųjų raidžių

Norėdami suprasti didžiųjų ir mažųjų raidžių jautrumą „Linux“ grep funkcijoje, apsvarstykite šį pavyzdį. „Grep“ veikia dvi komandos. Vienas yra su „-i“, o kitas - be. Šis pavyzdys parodo komandų skirtumus. Pirmasis rodo, kad duotame faile bus ieškoma dviejų žodžių. Tačiau, kaip nurodyta komandoje „Aqsa“, ji prasideda didžiąja A raide. Taigi jis nebus paryškintas, nes konkrečiame faile šis tekstas yra mažosiomis raidėmis.

$ grep 'Aqsa \ | sesuo' byla20.txt

Jis atsižvelgs tik į žodį sesuo, kuris bus matomas išvestyje.

Antrame pavyzdyje, ignoruodami „-I“ vėliavą, ignoravome didžiųjų ir mažųjų raidžių jautrumą. Ši funkcija ieškos abiejų žodžių, o išvestis bus paryškinta. Nesvarbu, ar žodis „Aqsa“ parašytas didžiosiomis raidėmis, ar ne, „grep“ ieškos tos pačios atitikties tekste faile. Taigi, abi komandos yra naudingos savaip.

$ grep -I failas „Aqsa \ | sesuo “20.txt

Skaičiuojant kelis atitikmenis faile

Skaičiavimo funkcija padeda suskaičiuoti žodžio ar žodžių atsiradimą konkrečiame faile. Pavyzdžiui, jei norite sužinoti apie sistemoje pasitaikančias klaidas. Išsami informacija įrašoma į žurnalų failą. Norėdami išsaugoti šią informaciją konkrečiame aplanke, parašysite aplankų kelią. Šis pavyzdys rodo, kad žurnalo failuose įvyko 71 klaida.

Ieškokite tikslių atitikmenų faile

Jei norite rasti tikslią atitiktį savo sistemos failuose, turite naudoti žymę „-w“, kad ją tiksliai surūšiuotumėte. Pateikėme paprastą ir išsamų pavyzdį. Toliau pateiktame pavyzdyje apsvarstykite paiešką be „-w“, ši komanda atves abu žodžius, atitinkančius nurodytą įvestį. Tačiau naudojant „-w“ vėliavą, paieška bus ribojama, nes įvesties žodžiai atitinka tik pirmąją eilutę. Antrasis žodis nėra paryškintas, nes „-w“ leidžia tiksliai suderinti modelį.

$ -iw 'hamna \ | house' byla21.txt

Čia aš taip pat naudojamas didžiųjų ir mažųjų raidžių pašalinimui ieškant teksto.

Kaip matyti nuotraukoje, rezultatai nėra vienodi. Pirmoji komanda pateikia visus susijusius duomenis ištisomis eilutėmis, o antroji komanda parodo, kaip tikslūs duomenys sutampa per grep ieškant kelių eilučių.

Grep daugiau nei vienas modelis konkretaus failo plėtinio tipo

Paieška atliekama visuose failuose. Tik nuo jūsų priklauso, ar ieškosite pateikdami failo pavadinimą. Ieškosite tik konkrečiuose failuose. Bet pateikus failo plėtinį, duomenys bus ieškomi visuose to paties plėtinio failuose. Yra du skirtingi pavyzdžiai, kaip pavaizduoti susijusį rezultatą. Atsižvelgiant į pirmąjį pavyzdį, klaidų failai bus skaičiuojami visuose .žurnalo pratęsimas. „-C“ naudojamas skaičiuojant.

$ grep -c 'įspėjimas \ | klaida' / var / log / *.žurnalas

Ši komanda reiškia, kad failai bus ieškomi visuose .žurnalo pratęsimas. Atitikčių skaičius bus rodomas išvestyje, kad būtų galima geriau parodyti grep su konkrečiu failo plėtiniu.

Antrame pavyzdyje mes naudojome du žodžius savo „Linux“ failuose su teksto plėtiniu. Visi duomenys bus rodomi skaičių pavidalu. 0 rodo, kad neatitinka duomenų, o išskyrus 0 rodo, kad yra atitikimas.

$ grep -c 'aqsa \ | my' / home / aqsayasin / *.txt

Kelių modelių paieška rekursyviai faile

Pagal numatytuosius nustatymus dabartinis katalogas naudojamas, jei komandoje nėra paminėto katalogo. Jei norite ieškoti pasirinktame kataloge, turite tai paminėti. „-R“ operatorius naudojamas grepui rekursiškai./ home / aqsayasin / rodo failų kelią, o *.txt rodo plėtinį. Teksto failai bus „grep“ tikslinės paieškos tikslai.

$ grep -R 'techninis \ | nemokamas' / namai / aqsayasin / *.txt

Norima išvestis yra paryškinta rezultate, parodant šių žodžių egzistavimą.

Išvada

Pirmiau minėtame straipsnyje mes citavome įvairius pavyzdžius, kad vartotojui būtų lengviau suprasti komandų darbą ieškant kelių „Linux“ modelių. Šis vadovas padės išplėsti turimas žinias.

Nemokami ir atvirojo kodo žaidimų varikliai, skirti kurti „Linux“ žaidimus
Šiame straipsnyje bus pateiktas nemokamų ir atvirojo kodo žaidimų variklių, kurie gali būti naudojami kuriant 2D ir 3D žaidimus „Linux“, sąrašas. Toki...
„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 ...