Kaip rodo „grep“ pavadinimas, ieškomas modelis apibūdinamas naudojant taisyklingąją išraišką. Reguliarioji išraiška yra specialus eilutės tipas, apibūdinantis modelį, kuris atitiktų, surastų ir valdytų. Norėdami sužinoti daugiau apie grep ir įprastą išraišką, patikrinkite naudodami grep ir egrep su reguliariąja išraiška.
Norėdami parodyti, paimkite teksto failo pavyzdį. Šiame pavyzdyje atsisiųskite GNU General Public License v3.0 teksto failo.
Pagrindinė paieška
Pagrindinis grep naudojimo būdas yra pagrindinės eilutės paieška.
Pažvelkite į šią grep komandą. Jis ieškos žodžio „GNU“ tekstiniame faile.
$ grep „GNU“ gpl-3.0.txt
Norėdami parodyti eilutės numerį, naudokite „-n“ vėliavą.
$ grep -n „GNU“ gpl-3.0.txt
Norėdami atlikti didžiųjų ir mažųjų raidžių paiešką naudodami „grep“, naudokite „-i“ vėliavą.
$ grep -ni „gnu“ gpl-3.0.txt
Kai kuriose situacijose galbūt nenorite matyti paieškos atitikmenų, o tik failo pavadinimą, kuriame įvyko atitiktis. Norėdami atsispausdinti tik failo pavadinimą, naudokite „-l“ vėliavą. Čia žvaigždutė reiškia naudoti visus dabartinio katalogo tekstinius failus.
$ grep -l „gnu“ *
Mes taip pat galime perduoti kitų komandų išvestį grep.
$ cat gpl-3.0.txt | grep -n „GNU“
Įprasta išraiška
„Regex“ siūlo išmanųjį paieškos koregavimo būdą. Jis turi savo taisykles. Tačiau skirtingos programos ir programavimo kalbos reguliarųjį reiškinį įgyvendina skirtingai. Štai keli pavyzdžiai, kuriuos galite naudoti su „grep“.
Norėdami apibrėžti, kad eilutę reikia rasti pradedant eilutę, naudokite simbolį caret (^).
$ grep -n „^ GNU“ gpl-3.0.txt
Norėdami apibrėžti, kad eilutė turi būti eilutės pabaigoje, naudokite dolerio ženklą ($).
$ grep -n „iki $“ gpl-3.0.txt
Norėdami apibūdinti, kad tam tikroje šablono vietoje gali būti bet kuris simbolis, naudokite taško ženklą (.). Pavyzdžiui, posakis „G.U “galioja, jei tarp„ G “ir„ U “yra simbolių.
$ grep -n „G.U “gpl-3.0.txt
Norėdami apibūdinti, kad tam tikroje šablono vietoje gali būti simbolių pogrupis, naudokite skliaustus ([]). Pavyzdžiui, posakis „t [wo] o“ nurodo, kad atitiktis galioja tik „dviems“ ir „per“.
$ grep -n “t [wo] o” gpl-3.0.txt
Išplėstinė reguliarioji išraiška
Kaip rodo pavadinimas, išplėstinė reguliarioji išraiška gali padaryti sudėtingesnius dalykus nei pagrindiniai reguliarūs posakiai. Norėdami naudoti išplėstinę reguliariąją išraišką su grep, turite naudoti „-E“ vėliavą.
$ grep -nE Norėdami ieškoti dviejų skirtingų eilučių, naudokite operatorius OR (|).
$ grep -nE „GNU | Bendra | Licencija“ gpl-3.0.txt
Rasti tekstą failuose
Dabar ateina pagrindinė dalis. Užuot rankiniu būdu nurodęs grep failui atlikti paiešką, grep gali tai padaryti automatiškai. Šioje komandoje grep naudos visus galimus teksto failus dabartiniame kataloge ieškodamas šablono.
$ grep * Jei norite grep atlikti paiešką kitame kataloge, turite nurodyti vietą.
$ grep
Jei yra aplankų, „grep“ jų netiria pagal numatytuosius nustatymus. Norėdami pasakyti „grep“ ieškoti rekursyviai, naudokite „-R“ vėliavą.
$ grep -nR
Grep GUI
Jei norite dirbti su GUI, bet vis tiek norite mėgautis „grep“ funkcijomis, patikrinkite paieškos mygtuką. Tai „grep“ iš anksto sukurtas sprendimas. Šis paketas yra prieinamas beveik visuose pagrindiniuose „Linux“ dislokavimo centruose.
Raskite tekstą failuose naudodami „nano“
„GNU Nano“ yra paprastas ir galingas teksto redaktorius, pateikiamas kartu su bet kuria „Linux“ distribucija. Jame yra įmontuotos funkcijos teksto paieškai teksto faile.
Atminkite, kad taikydami šį metodą turite atidaryti teksto failą ir ieškoti rankiniu būdu. Tai galima atlikti, jei yra tik keletas tekstinių failų, su kuriais reikia dirbti. Jei jų yra daugiau, tada grep naudojimas yra optimaliausias pasirinkimas.
Atidarykite teksto failą nano kalba.
$ nano
Norėdami ieškoti eilutės atitikties, paspauskite „Ctrl + W“. Įvedę ieškomą eilutę, paspauskite „Enter“.
Raskite tekstą failuose naudodami „Vim“
„Vim“ yra gerai žinomas ir žinomas teksto redaktorius. Tai šiuolaikinio teksto redaktoriaus komandinės eilutės atitikmuo. „Vim“ turi daugybę pažangių funkcijų, tokių kaip papildiniai, makrokomandos, automatinis pildymas, filtrai ir kt.
Panašiai kaip „nano“, „Vim“ vienu metu veikia su vienu failu. Jei turite kelis tekstinius failus, grep naudojimas yra optimaliausias būdas.
Norėdami ieškoti teksto faile, pirmiausia atidarykite jį „Vim“.
$ vim
Įveskite šią „Vim“ komandą ir paspauskite „Enter“.
$: /
Raskite tekstą failuose naudodami GNOME teksto rengyklę
„GNOME“ teksto rengyklė yra teksto rengyklė, pateikiama kartu su „GNOME“ darbalaukiu. Tai supaprastintas teksto redaktorius su visomis pagrindinėmis funkcijomis, kurių tikitės. Tai puiki alternatyva komandinės eilutės teksto redaktoriams.
Panašiai kaip nano ir vim, toks pat atsargumas taikomas ir šiam metodui. Jei tekstinių failų skaičius didelis, geriau laikykitės grep.
Atidarykite teksto failą teksto rengyklėje. Paspauskite „Ctrl + F“, kad būtų rodoma paieškos juosta.
Raskite tekstą failuose naudodami „VS Code“
„Visual Studio Code“ yra galingas teksto redaktorius su daugybe funkcijų. Tai optimizuota programuotojams, kad būtų galima naudoti, tarsi tai būtų visavertis IDE. Jis prieinamas beveik visuose pagrindiniuose „Linux“ dislokavimo centruose.
Įdiekite „Visual Studio“ kodo paketą.
$ sudo snap įdiegimo kodas - klasikinis
Atidarykite teksto failą „VS Code“. Norėdami pradėti paiešką, paspauskite „Ctrl + F“.
Paskutinės mintys
Yra daugybė būdų, kaip ieškoti teksto failuose. Tai lengva užduotis. Primygtinai rekomenduojama įsisavinti „grep“ komandą, nes ji teikia didžiausią vertę efektyvumo ir paprasto naudojimo prasme.
Jei jums labiau patinka GUI, galite rinktis iš daugybės teksto redaktorių. Bet kuris šiuolaikinis teksto redaktorius suteiks teksto paieškos parinktį.
Laimingo skaičiavimo!