grep

Linux grep komanda

Linux grep komanda
Grep ir viens no ērtākajiem rīkiem, kas var būt jūsu rīcībā. Šī komandrindas lietderība veic meklēšanu vienkārša teksta datu kopās. Greps faktiski ir saīsinājums “globāli meklēt a regular expression un lpprint ”. Greps sāka savu ceļu kā UNIX ģimenes loceklis. Laika gaitā tas tagad ir pieejams visām populārajām platformām, piemēram, Linux, Mac, BSD un pat Windows!

Vai iepriekš esat lietojis grep? Lielāko daļu laika galvenais grep triks var paveikt lielāko daļu darba. Tomēr grep piedāvā daudz veidu, kā veikt meklēšanu un precīzi noregulēt izvadi uz vairāk izmantojamu versiju. Šajā rakstā apskatīsim grep komandas lietojumu.

Grep lietojums

Eksistences pārbaude

Ja jūs izmantojat jebkāda veida Linux izplatīšanu, jums jau ir instalēts grep. Palaidiet šādu komandu terminālā.

grep --versija

Šo komandu izmanto, lai parādītu pašreiz instalētā grep versiju. Tagad mums ir nepieciešams demonstrācijas fails. Manā gadījumā es ģenerēšu teksta failu, kas ietver visas manā sistēmā instalētās pakotnes.

Pamati

Grep pamata lietošanai ir šāda struktūra.

grep

Vai, lai vieglāk saprastu, izmantojiet šo.

grep -e -f

Šajā gadījumā grep veiks meklēšanu failā un izdrukās visas līnijas, kurās iekļauts modelis (meklēšanas vienums).

grep python ~ / Desktop / PackageList.txt

Greps meklēja failu “PackageList.txt ”Es ģenerēju agrāk un izdrukāju visas rindas, kurās ir“ python ”.

Šo pašu darbību var veikt citā veidā. Pārbaudiet šo piemēru.

kaķis ~ / Desktop / PackageList.txt | grep pitons

Izmantojot komandu “cat”, es nosūtīju faila “PackageList.txt ”grepēt. Izmantojot kaķa izvadi, grep veica meklēšanu un izdrukāja līnijas, kurās ir meklēšanas vienums.

Tagad nāk jautra lieta. Jūs varat burtiski sakraut vairākas grep komandas tāpat.

kaķis ~ / Desktop / PackageList.txt | grep - | grep p | grep pitons

Pirmais grep filtrē līdz līnijām ar defisi, otrais filtrē līdz līnijām ar p un pēdējais grep filtrē līdz līnijām ar pitonu. Ir jēga?

Reģistrjutība

Veicot meklēšanu, galvenais jautājums ir reģistrjutīgums. Pēc noklusējuma grep ir reģistrjutīgs.

Piemēram, meklējot vaicājumu “Python”, netiks rādīti rezultāti.

kaķis ~ / Desktop / PackageList.txt | grep Python

Lai padarītu grep burtu “nejutīgu”, pievienojiet šādu opciju.

kaķis ~ / Desktop / PackageList.txt | grep -i Python

Failu meklēšana

Pieņemsim, ka jums ir direktorijs ar daudziem teksta failiem. Jūsu mērķis ir identificēt failu (-us), kurā ir vai nav raksta (meklēšanas vienums).

Šī metode man šķiet ļoti noderīga, meklējot žurnālfailu kaudzē. Tā kā man nav laika katru failu atvērt un pārbaudīt manuāli, man ir jāgrepē, lai veiktu darbu man.

Lai uzskaitītu failus, kas satur spēli, izmantojiet karodziņu “-l”.

grep -l / search / directory / *

Kā liecina rezultāts, termins “python” ir sastopams visos 3 direktorijā “Desktop” esošajos failos.

Lai ierakstītu failus bez atbilstības, izmantojiet karodziņu “-L”.

grep -L / search / directory / *

"Nav sakritības.txt ”ir vienīgais fails, kurā nav vārda“ python ”.

Apgriezta meklēšana

Pēc noklusējuma grep ir drukāt tikai līnijas ar atbilstošu rakstu, pa labi? Ir pienācis laiks mainīt procesu. Šoreiz mēs drukāsim tikai līnijas BEZ atbilstošā parauga.

Vienkārši nododiet opciju “-v”, lai grepētu.

kaķis ~ / Desktop / PackageList.txt | grep -i -v Python

Līniju drukāšana pirms / pēc spēles

Pēc noklusējuma grep drukās tikai līniju, kas atbilst meklēšanas modelim. Izmantojot šo paņēmienu, jūs varat pateikt grepam izdrukāt līnijas arī pirms / pēc spēles.

Lai drukātu līnijas pirms spēles, izmantojiet šādu struktūru.

grep -B

Šeit 5 ir skaitļa rindiņa, kuru grep drukās PIRMS atbilstošās rindas.

Līniju drukāšanai pēc spēles izmantojiet šo.

grep -A

Kā būtu ar drukāšanu gan pirms, gan pēc atbilstošās rindas? Tādā gadījumā izmantojiet karodziņu “-C”.

grep -C

Līnijas numurs

Kad grep parāda izvadi, rindas numurs nav minēts. Saistītajam (-iem) līnijas numuram (-iem) izmantojiet karodziņu “-n”.

grep -n

Viens vārds

Ja tiek izmantots karodziņš “-w”, grep traktēs modeli kā veselu vārdu.

grep -w

Grep meklēšanas ierobežošana

Grep ļauj norādīt failā meklējamo rindu skaitu. Šī metode ir noderīga, ja jums ir darīšana ar lielu failu (piemēram, sistēmas žurnālu). Izmantojiet karodziņu “-m”.

grep -m

Rekursīvā meklēšana

Tā ir viena no visnoderīgākajām funkcijām, ko grep piedāvā lielai lietošanai. Greps var rekursīvi meklēt direktorijā un atrast visas atbilstības no visiem failiem, ar kuriem tā saskaras.

grep -R

Or,

grep -r

Es bieži atrodu šo rekursīvo funkciju lietošanu kopā ar “-l” karodziņu.

Klusais režīms

Grep var palaist “klusā” režīmā. Kad darbojas “klusā” režīmā, grep neizdrukā nevienu izvadi uz terminālu. Tā vietā tiks atgriezta vērtība 0 (vismaz tika atrasta atbilstība) vai 1 (atbilstība netika atrasta).

grep -q
atbalss $?

Regex

Greps pieļauj arī regulārās izteiksmes (regulārās izteiksmes) meklēšanu. Tas papildina pilnīgi jaunu grep kā meklēšanas rīka sarežģītību un lietojamību.

Piemēram, jūs varat izmantot iekavas, lai vienlaikus meklētu gan “too”, gan “two”.

kaķis ~ / Desktop / gpl-3.0.txt | grep t [wo] o

Šis nākamais piemērs drukās līniju tikai tad, ja sakritība notiek pašā līnijas sākumā.

grep ^ GNU ~ / Desktop / gpl-3.0.txt

Attiecībā uz beigu saskaņošanu izmantojiet šo.

grep you $ ~ / Desktop / gpl-3.0.txt

Ja vēlaties izmantot Perl regulāro izteiksmi, izmantojiet karodziņu “-P”. Tas izturēsies pret modeli kā Perl regex.

grep -P

Pēdējās domas

Grep piedāvā daudz veidu, kā pielāgot meklēšanas funkciju. Regex pieejamība paver pilnīgi jaunu horizontu potenciālajam grep lietojumam. Foršākais ir tas, ka jūs varat izmantot gan vispārējo, gan Perl regex; ar kuru jūs jūtaties ērti.

Lai iegūtu detalizētāku skaidrojumu, vienmēr skatiet rokasgrāmatu Man.

cilvēks grep

Priekā!

Peles kreisā klikšķa poga nedarbojas operētājsistēmā Windows 10
Ja ar klēpjdatoru vai galddatoru izmantojat īpašu peli, bet nedarbojas peles kreisās klikšķa poga kādu iemeslu dēļ operētājsistēmā Windows 10/8/7 šeit...
Rakstot Windows 10, kursors lec vai pārvietojas nejauši
Ja atklājat, ka peles kursors automātiski, nejauši lec vai pārvietojas pats, rakstot Windows klēpjdatorā vai datorā, daži no šiem ieteikumiem var palī...
Kā mainīt peles un skārienpaliktņu ritināšanas virzienu operētājsistēmā Windows 10
Pele un SkārienpaliktnisTas ne tikai padara skaitļošanu vienkāršu, bet arī efektīvāku un mazāk laikietilpīgu. Mēs nevaram iedomāties dzīvi bez šīm ier...