Šiame vadove apžvelgiami kai kurie geriausi komandinės eilutės įrankiai, naudojami teksto failų tinkamų eilučių ar modelių paieškai. Šios priemonės paprastai naudojamos kartu su įprastomis išraiškomis - sutrumpintos kaip REGEX - tai unikalios paieškos modelio aprašymo eilutės.
Be didelių pastangų pasinerkime.
Pirmoje vietoje yra grep naudingumo įrankis - yra akronimas Visuotinis reguliariosios išraiškos spausdinimas, yra galingas komandinės eilutės įrankis, kuris praverčia ieškant konkrečios eilutės ar modelio faile.
Grep laivai su Šiuolaikiniai „Linux“ paskirstymai pagal numatytuosius nustatymus ir suteikia lankstumo grąžinti įvairius paieškos rezultatus. Naudodami „grep“ galite atlikti daugybę funkcijų, tokių kaip:
Naudojimo sintaksė grep komanda yra gana paprasta:
$ grep modelis FILE.
Pavyzdžiui, ieškokite eilutės „Linux„Faile, tarkime, sveiki.txt nepaisydami didžiųjų ir mažųjų raidžių, paleiskite komandą:
$ grep -i Linux hello.txt.
Norėdami gauti daugiau parinkčių, kurias galite naudoti su grep, tiesiog perskaitykite mūsų straipsnį, kuriame yra daugiau pavyzdžių išplėstiniai grep komandų pavyzdžiai.
Sedas - trumpai Srauto redaktorius -yra dar vienas naudingas komandinės eilutės įrankis manipuliavimas tekstu teksto faile. Sedas neinteraktyviai ieško, filtruoja ir pakeičia tam tikro failo eilutes.
Pagal numatytuosius nustatymus sed komanda spausdina išvestį į IŠJUNGIMAS (Standartinis išėjimas), o tai reiškia, kad vykdymo rezultatas spausdinamas terminale, o ne išsaugomas faile.
„Sed“ komanda iškviečiama taip:
$ sed -OPTIONS komanda [failas turi būti redaguojamas]
Pavyzdžiui, norint pakeisti visus „Unix' su 'Linux“, Paleiskite komandą:
$ sed 's/Unix/Linux' hello.txt.
Jei norite peradresuoti išvestį, o ne spausdinti ją terminale, naudokite peradresavimo ženklą ( > )
taip, kaip parodyta.
$ sed 's/Unix/Linux' hello.txt> output.txt.
Komandos išvestis išsaugoma output.txt failą, o ne spausdinti ekrane.
Norėdami sužinoti daugiau galimų parinkčių, dar kartą peržiūrėkite vadovo puslapius.
$ vyras sed.
Ack yra greitas ir nešiojamas komandų eilutės įrankis, parašytas „Perl“. Ack laikomas draugišku pakaitalu grep naudingumas ir pateikia rezultatus vizualiai patraukliu būdu.
Ack komanda faile arba kataloge ieško eilučių, kuriose yra paieškos kriterijų atitiktis. Tada eilutėse paryškinama atitinkanti eilutė.
Ack turi galimybę atskirti failus pagal jų failų plėtinius ir tam tikru mastu failų turinį.
„Ack“ komandos sintaksė:
$ ack [parinktys] PATTERN [FILE ...] $ ack -f [parinktys] [KATALOGAS ...]
Pavyzdžiui, norėdami patikrinti paieškos terminą Linux, paleisti:
$ ack Linux hello.txt.
Paieškos įrankis yra gana protingas ir, jei vartotojas nepateikia jokio failo ar katalogo, jis ieško paieškos modelio dabartiniame kataloge ir pakatalogiuose.
Žemiau pateiktame pavyzdyje nebuvo pateiktas joks failas ar katalogas, tačiau „ack“ automatiškai aptiko turimą failą ir ieškojo pateikto atitikimo modelio.
$ ack Linux.
Instaliuoti ack sistemoje paleiskite komandą:
$ sudo apt install ack-grep [Debian'e/Ubuntu] $ sudo dnf įdiegti ack-grep [Apie CentOS/RHEL]
Oho yra visavertė scenarijų kalba, taip pat teksto apdorojimo ir duomenų apdorojimo įrankis. Ji ieško failų ar programų, kuriose yra paieškos modelis. Kai randama eilutė ar raštas, awk imasi veiksmų dėl rungtynių ar linijos ir spausdina rezultatus IŠJUNGIMAS.
The AWK raštas yra uždarytas tarp garbanotų skliaustų, o visa programa - atskirose kabutėse.
Paimkime paprasčiausią pavyzdį. Tarkime, kad spausdinate savo sistemos datą, kaip parodyta:
$ data.
Tarkime, norite išspausdinti tik pirmąją vertę, tai yra savaitės dieną. Tokiu atveju įveskite išvestį awk taip, kaip parodyta:
$ data | awk '{print $ 1}'
Norėdami rodyti tolesnes vertes, atskirkite jas kableliu, kaip parodyta:
$ data | awk '{print $ 1, $ 2}'
Aukščiau pateikta komanda parodys savaitės dieną ir mėnesio datą.
Norėdami gauti daugiau parinkčių, kurias galite naudoti su awk, tiesiog perskaitykite mūsų awk komandų serija.
The sidabro ieškotojas yra kelių platformų ir atvirojo kodo paieškos įrankis, panašus į ack bet akcentuojant greitį. Tai palengvina failų paiešką konkrečioje eilutėje per trumpiausią įmanomą laiką:
Sintaksė:
$ ag OPTIONS search_pattern/path/to/file.
Pavyzdžiui, ieškokite eilutės „Linux'Faile sveiki.txt iškviesti komandą:
$ ag Linux hello.txt.
Norėdami gauti papildomų parinkčių, apsilankykite žinyno puslapiuose:
$ vyras ag.
Galiausiai, mes turime ripgrep komandinės eilutės įrankis. Ripgrep yra kelių platformų programa, skirta reguliariųjų reiškinių modeliams ieškoti. Tai daug greičiau nei visi anksčiau minėti paieškos įrankiai ir rekursyviai ieško katalogų, kad atitiktų modelius. Kalbant apie greitį ir našumą, joks kitas įrankis neišsiskiria Ripgrep.
Pagal numatytuosius nustatymus ripgrep praleis dvejetainius failus/paslėptus failus ir katalogus. Taip pat atminkite, kad pagal numatytuosius nustatymus jis neieškos failų, į kuriuos nekreipia dėmesio .gitignore/.ignore/.rgignore failus.
Ripgrep taip pat leidžia ieškoti konkrečių failų tipų. Pavyzdžiui, norėdami apriboti paiešką Javascript failai paleidžiami:
$ rg -Tsj.
Ripgrep naudojimo sintaksė yra gana paprasta:
$ rg [PARINKTYS] PATTERN [PATH ...]
Pavyzdžiui. Norėdami ieškoti eilutės egzempliorių „Linux“ failuose, esančiuose dabartiniame kataloge, paleiskite komandą:
$ rg „Linux“.
Instaliuoti ripgrep sistemoje paleiskite šias komandas:
$ sudo apt install ripgrep [Įjungta „Debian“/„Ubuntu“] $ sudo pacman -S ripgrep [ĮjungtaArch „Linux“] $ sudo zypper įdiegti ripgrep [Įjungta„OpenSuse“] $ sudo dnf įdiegti ripgrep [Įjungta„CentOS“/„RHEL“/„Fedora“]
Norėdami gauti papildomų parinkčių, apsilankykite žinyno puslapiuose:
$ man rg.
Tai yra vieni iš plačiausiai naudojamų komandinės eilutės įrankių tekstui ieškoti, filtruoti ir manipuliuoti „Linux“. Jei turite kitų įrankių, kuriuos, jūsų manymu, palikome, praneškite mums komentarų skiltyje.