Kā liecina grep nosaukums, meklējamais modelis tiek aprakstīts, izmantojot regulāru izteiksmi. Regulārā izteiksme ir īpašs virknes veids, kas apraksta modeli, lai tas atbilstu, atrastu un pārvaldītu. Lai uzzinātu vairāk par grep un regulāro izteiksmi, pārbaudiet, izmantojot grep un egrep ar regulāro izteiksmi.
Demonstrācijas nolūkos paņemiet teksta faila paraugu. Šajā piemērā lejupielādējiet GNU General Public License v3.0 teksta fails.
Pamata meklēšana
Galvenais grep izmantošanas veids ir pamata virknes meklēšana.
Apskatiet šo grep komandu. Teksta failā tas meklēs vārdu “GNU”.
$ grep "GNU" gpl-3.0.txt
Lai parādītu līnijas numuru, izmantojiet karodziņu “-n”.
$ grep -n “GNU” gpl-3.0.txt
Lai veiktu meklēšanu bez reģistriem, izmantojot grep, izmantojiet karodziņu “-i”.
$ grep -ni “gnu” gpl-3.0.txt
Jūs, iespējams, nevēlaties redzēt meklēšanas atbilstības, bet tikai faila nosaukumu, kurā spēle notika dažās situācijās. Lai drukātu tikai faila nosaukumu, izmantojiet karodziņu “-l”. Šeit zvaigznīte apzīmē visu teksta failu izmantošanu pašreizējā direktorijā.
$ grep -l “gnu” *
Mēs varam arī ievadīt citu komandu izvadi, lai grepētu.
$ cat gpl-3.0.txt | grep -n “GNU”
Regulāra izteiksme
Regex piedāvā gudru meklēšanas precizēšanas veidu. Tam ir savi noteikumi. Tomēr dažādas lietojumprogrammas un programmēšanas valodas regulāro izteiksmi īsteno atšķirīgi. Šeit ir pāris piemēri, kurus varat izmantot ar grep.
Lai definētu, ka virkne ir atrodama, sākot līniju, izmantojiet simbolu caret (^).
$ grep -n “^ GNU” gpl-3.0.txt
Lai definētu, ka virkne ir atrodama rindas beigās, izmantojiet dolāra zīmi ($).
$ grep -n “līdz $” gpl-3.0.txt
Lai aprakstītu, ka noteiktā raksta vietā var būt jebkura rakstzīme, izmantojiet perioda rakstzīmi (.). Piemēram, izteiciens “G.U ”ir derīgs, ja starp“ G ”un“ U ”ir kāda rakstzīme.
$ grep -n “G.U ”gpl-3.0.txt
Lai aprakstītu, ka noteiktā raksta vietā var būt rakstzīmju apakškopa, izmantojiet iekavas ([]). Piemēram, izteiciens “t [wo] o” norāda, ka sakritība ir derīga tikai “diviem” un “pārāk”.
$ grep -n “t [wo] o” gpl-3.0.txt
Paplašināta regulārā izteiksme
Kā norāda nosaukums, ar paplašinātu regulāru izteiksmi var veikt sarežģītākas lietas nekā parastās regulārās izteiksmes. Lai izmantotu paplašinātu regulāru izteiksmi ar grep, jums jāizmanto karodziņš “-E”.
$ grep -nE Lai meklētu divas dažādas virknes, izmantojiet operatorus OR (|).
$ grep -nE “GNU | Vispārīgi | Licence” gpl-3.0.txt
Teksta atrašana failos
Tagad nāk galvenā daļa. Tā vietā, lai manuāli teiktu grep failam, lai veiktu meklēšanu, grep to var izdarīt automātiski. Šajā komandā grep modeļa meklēšanai izmantos visus pašreizējā direktorijā pieejamos teksta failus.
$ grep * Ja vēlaties grepēt, lai meklēšanu veiktu citā direktorijā, jums jānorāda atrašanās vieta.
$ grep
Ja ir mapes, grep tās pēc noklusējuma neizpēta. Lai pateikt grep meklētu rekursīvi, izmantojiet karodziņu “-R”.
$ grep -nR
Grep GUI
Ja vēlaties strādāt ar GUI, bet tomēr vēlaties izbaudīt grep funkcijas, pārbaudiet meklēšanas taustiņu. Tas ir front-end risinājums grep. Pakete ir pieejama gandrīz visos lielākajos Linux diska numuros.
Atrodiet tekstu failos, izmantojot nano
GNU Nano ir vienkāršs un spēcīgs teksta redaktors, kas nāk ar jebkuru Linux izplatītāju. Tajā ir iebūvētas funkcijas teksta meklēšanai teksta failā.
Ņemiet vērā, ka, izmantojot šo metodi, jums ir jāatver teksta fails un jāmeklē manuāli. Tas ir izpildāms, ja ir tikai nedaudz teksta failu, ar kuriem strādāt. Ja ir vairāk, tad optimālākā izvēle ir grep izmantošana.
Atveriet teksta failu nano.
$ nano
Lai meklētu virknes atbilstību, nospiediet “Ctrl + W”. Pēc meklēšanas virknes ievadīšanas nospiediet taustiņu Enter.
Atrodiet tekstu failos, izmantojot Vim
Vim ir plaši pazīstams un pazīstams teksta redaktors. Tas ir komandrindas ekvivalents mūsdienu teksta redaktoram. Vim nāk ar daudzām papildu funkcijām, piemēram, spraudņiem, makro, automātisko pabeigšanu, filtriem utt.
Līdzīgi kā nano, Vim vienlaikus strādā ar vienu failu. Ja jums ir vairāki teksta faili, optimālākais veids ir izmantot grep.
Lai meklētu teksta failā, vispirms atveriet to programmā Vim.
$ vim
Ievadiet šādu komandu Vim un nospiediet taustiņu Enter.
$: /
Atrodiet tekstu failos, izmantojot GNOME teksta redaktoru
GNOME teksta redaktors ir teksta redaktors, kas tiek piegādāts kopā ar GNOME darbvirsmu. Tas ir vienkāršots teksta redaktors ar visām pamata funkcijām, kuras jūs varētu sagaidīt. Tā ir jauka alternatīva komandrindas teksta redaktoriem.
Līdzīgi kā nano un vim, šī pati piesardzība attiecas arī uz šo metodi. Ja teksta failu skaits ir liels, tad labāk turieties pie grep.
Atveriet teksta failu teksta redaktorā. Nospiediet “Ctrl + F”, lai atvērtu meklēšanas joslu.
Atrodiet tekstu failos, izmantojot VS kodu
Visual Studio Code ir spēcīgs teksta redaktors ar daudzām funkcijām. Tas ir optimizēts programmētājiem, lai tos varētu izmantot tā, it kā tas būtu pilnvērtīgs IDE. Tas ir pieejams gandrīz visos lielākajos Linux distros.
Instalējiet Visual Studio Code snap pakotni.
$ sudo snap instalēšanas kods - klasisks
Atveriet teksta failu VS kodā. Nospiediet “Ctrl + F”, lai sāktu meklēšanu.
Pēdējās domas
Ir daudzi veidi, kā meklēt tekstu failos. Tas ir viegli apgūstams uzdevums. Ir ļoti ieteicams apgūt grep komandu, jo tā piedāvā vislielāko vērtību efektivitātes un lietošanas ērtuma ziņā.
Ja dodat priekšroku GUI, varat izvēlēties no daudziem teksta redaktoriem. Jebkurš mūsdienīgs teksta redaktors nodrošinās teksta meklēšanas iespēju.
Laimīgu skaitļošanu!