Sintaksė
$ grep 'pattern1 \ | pattern2' failo vardasReguliarus 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.txtKomanda 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.txtJis 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.