Defnydd Enghreifftiol O Reoliad Grep Linux

Cyflwyniad

Defnyddir gorchymyn grep Linux fel dull ar gyfer hidlo mewnbwn.

Mae GREP yn sefyll ar gyfer Argraffydd Mynegiant Rheolaidd Byd-eang ac felly er mwyn ei ddefnyddio'n effeithiol, dylech gael rhywfaint o wybodaeth am ymadroddion rheolaidd.

Yn yr erthygl hon, byddaf yn dangos nifer o enghreifftiau i chi a fydd yn eich helpu i ddeall y gorchymyn grep.

01 o 09

Sut i Chwilio Am String Mewn Ffeil Gan ddefnyddio GREP

Mae'r Command Grep Linux.

Dychmygwch fod gennych ffeil destun o'r enw llyfrau gyda'r teitlau llyfrau plant canlynol:

I ddarganfod yr holl lyfrau gyda'r gair "The" yn y teitl, byddech chi'n defnyddio'r gystrawen ganlynol:

grep Y llyfrau

Bydd y canlyniadau canlynol yn cael eu dychwelyd:

Ym mhob achos, bydd y gair "Y" yn cael ei amlygu.

Sylwch fod y chwiliad yn achos sensitif felly felly os oedd gan un o'r teitlau "y" yn hytrach na "Y" yna ni fyddai wedi ei ddychwelyd.

Er mwyn anwybyddu'r achos, gallwch ychwanegu'r newid canlynol:

grep y llyfrau - caseignore

Gallwch hefyd ddefnyddio'r switsh -i fel a ganlyn:

grep -i'r llyfrau

02 o 09

Chwiliwch am String Mewn Ffeil Gan ddefnyddio Cardiau Wild

Mae'r gorchymyn grep yn bwerus iawn. Gallwch ddefnyddio llu o dechnegau cyfateb patrwm i hidlo canlyniadau.

Yn yr enghraifft hon, byddaf yn dangos i chi sut i chwilio am linyn mewn ffeil gan ddefnyddio cardiau gwyllt .

Dychmygwch fod gennych ffeil o'r enw lleoedd gyda'r enwau lleoedd canlynol yn yr Alban:

aberdeen

aberystwyth

aberlour

anfodlon

inverness

Newburgh

ceirw newydd

galloway newydd

glasgow

edinburgh

Os ydych chi am ddod o hyd i'r holl leoedd sydd â mewnbwn yn yr enw, defnyddiwch y cystrawen ganlynol:

lleoedd grep inver *

Mae'r cerdyn gwyllt seren (*) yn sefyll am 0 neu fwy. Felly, os oes gennych le a elwir yn fewnol neu le a elwir yn fewnfudiad yna byddai'r ddau yn cael eu dychwelyd.

Cerdyn gwyllt arall y gallwch ei ddefnyddio yw'r cyfnod (.). Gallwch chi ddefnyddio hyn i gyd-fynd â llythyr unigol.

lleoedd i mewn i mewn

Byddai'r gorchymyn uchod yn dod o hyd i leoedd a elwir yn ddiffygiol ac yn fewnfudiadol ond ni fyddai'n dod o hyd i ryfel oherwydd caniateir dim ond un cerdyn gwyllt rhwng y ddau r fel y'i dynodir gan y cyfnod sengl.

Mae cerdyn gwyllt y cyfnod yn ddefnyddiol ond gall achosi problemau os oes gennych chi un fel rhan o'r testun rydych chi'n ei chwilio.

Er enghraifft, edrychwch ar y rhestr hon o enwau parth

I ddarganfod yr holl outlines you could just search gan ddefnyddio'r gystrawen ganlynol:

grep * am * domainnames

Byddai'r gorchymyn uchod yn disgyn os oedd y rhestr yn cynnwys yr enw canlynol ynddo:

Gallech, felly, roi cynnig ar y cystrawen ganlynol:

grep * about.com domainnames

Byddai hyn yn gweithio'n iawn oni bai bod parth gyda'r enw canlynol:

aboutycom.com

I chwilio am y term about.com, bydd angen i chi ddianc o'r dot fel a ganlyn:

grep * am \ .com domainnames

Y cerdyn gwyllt olaf i'ch dangos yw'r marc cwestiwn sy'n sero neu un cymeriad.

Er enghraifft:

enwau enwau glas

Byddai'r gorchymyn uchod yn dychwelyd aberdeen, aberystwyth neu hyd yn oed berwick.

03 o 09

Chwiliwch am Llinynnau Ar y Dechrau a'r Diwedd Ar-lein Defnyddio grep

Mae'r symbol carat (^) a'r ddoler ($) yn eich galluogi i chwilio am batrymau ar ddechrau a diwedd llinellau.

Dychmygwch fod gennych ffeil o'r enw pêl-droed gyda'r enwau tîm canlynol:

Os ydych chi am ddod o hyd i'r holl dimau a ddechreuodd gyda Manceinion, byddech chi'n defnyddio'r gystrawen ganlynol:

grep ^ timau Manceinion

Byddai'r gorchymyn uchod yn dychwelyd Manchester City a Manchester United ond nid FC United Of Manchester.

Fel arall, gallwch ddod o hyd i'r holl dimau sy'n dod i ben gyda United gan ddefnyddio'r gystrawen ganlynol:

grep United $ timau

Byddai'r gorchymyn uchod yn dychwelyd Manchester United a Newcastle United ond nid CC United of Manchester.

04 o 09

Cyfrif Nifer y Gemau Defnyddio grep

Os nad ydych am ddychwelyd y llinellau gwirioneddol sy'n cyd-fynd â phatrwm gan ddefnyddio grep ond rydych chi am wybod faint sydd gennych gallwch ddefnyddio'r gystrawen ganlynol:

ffeil fewnbwn patrwm grep -c

Pe bai'r patrwm wedi'i gyfateb ddwywaith yna byddai rhif 2 yn cael ei ddychwelyd.

05 o 09

Dod o hyd i bob un o'r telerau nad ydynt yn cyd-fynd â defnyddio grep

Dychmygwch fod gennych restr o enwau lle gyda'r gwledydd a restrir fel a ganlyn:

Efallai eich bod wedi sylwi nad oes gan y bae colwyn unrhyw wlad sy'n gysylltiedig ag ef.

I chwilio am yr holl leoedd gyda gwlad, gallech ddefnyddio'r gystrawen ganlynol:

tir y tir $ lleoedd

Dychwelir y canlyniadau yn yr holl leoedd ac eithrio bae colwyn.

Mae hyn yn amlwg yn unig yn gweithio ar gyfer lleoedd sy'n dod i ben mewn tir (prin wyddonol).

Gallwch wrthdroi'r dewis gan ddefnyddio'r gystrawen ganlynol:

grep -v tir $ lleoedd

Byddai hyn yn dod o hyd i'r holl leoedd nad oeddent yn dod i ben gyda thir.

06 o 09

Sut i Dod o hyd i Linellau Gwag Mewn Ffeiliau Defnyddio grep

Dychmygwch fod gennych ffeil fewnbwn a ddefnyddir gan gais trydydd parti sy'n atal darllen y ffeil pan fydd yn dod o hyd i linell wag fel a ganlyn:

Pan fydd y cais yn cyrraedd y llinell ar ôl liverpool bydd yn stopio i ddarllen ystyr bae colwyn yn cael ei golli yn llwyr.

Gallwch ddefnyddio grep i chwilio am linellau gwag gyda'r cystrawen ganlynol:

grep ^ $ lleoedd

Yn anffodus nid yw hyn yn arbennig o ddefnyddiol oherwydd ei fod yn dychwelyd y llinellau gwag yn unig.

Gallech, wrth gwrs, gael cyfrif o nifer y llinellau gwag fel siec i weld a yw'r ffeil yn ddilys fel a ganlyn:

grep -c ^ $ lleoedd

Fodd bynnag, byddai'n fwy defnyddiol gwybod y rhifau llinell sydd â llinell wag fel y gallwch eu disodli. Gallwch chi wneud hynny gyda'r gorchymyn canlynol:

grep -n ^ $ lleoedd

07 o 09

Sut i Chwilio am Llinynnau O Gymeriadau Uchafswm neu Isafswm Defnyddio grep

Gan ddefnyddio grep gallwch chi benderfynu pa llinellau mewn ffeil sydd â chymeriadau uchaf gan ddefnyddio'r cystrawen ganlynol:

grep '[AZ]' enw ffeil

Mae'r cromfachau sgwâr [] yn caniatáu i chi bennu ystod y cymeriadau. Yn yr enghraifft uchod mae'n cyfateb i unrhyw gymeriad sydd rhwng A a Z.

Felly, i gyfateb cymeriadau isaf, gallwch ddefnyddio'r gystrawen ganlynol:

grep '[az]' enw ffeil

Os ydych chi am gyfateb i lythyrau yn unig ac nid rhifau neu symbolau eraill, gallwch ddefnyddio'r gystrawen ganlynol:

grep '[a-zA-Z]' enw ffeil

Gallwch chi wneud yr un peth â rhifau fel a ganlyn:

grep '[0-9]' enw ffeil

08 o 09

Edrych am batrymau ailadrodd Defnyddio grep

Gallwch ddefnyddio bracedi bras {} i chwilio am batrwm ailadroddus.

Dychmygwch fod gennych ffeil gyda rhifau ffôn fel a ganlyn:

Rydych chi'n gwybod bod angen tri digid ar ran gyntaf y rhif ac rydych am ddod o hyd i'r llinellau nad ydynt yn cyfateb i'r patrwm hwn.

O'r enghraifft flaenorol, gwyddoch fod [0-9] yn dychwelyd pob rhif mewn ffeil.

Yn yr achos hwn, rydym am i'r llinellau sy'n dechrau gyda thri rhif, ac yna gysylltnod (-). Gallwch wneud hynny gyda'r cystrawen ganlynol:

grep "^ [0-9] [0-9] [0-9] -" rhifau

Fel y gwyddom o'r enghreifftiau blaenorol, mae'r carat (^) yn golygu bod yn rhaid i'r llinell ddechrau gyda'r patrwm canlynol.

Bydd y [0-9] yn chwilio am unrhyw rif rhwng 0 a 9. Gan fod hyn wedi'i gynnwys dair gwaith mae'n cyfateb â 3 rhif. Yn olaf, mae cysylltnod i nodi bod rhaid i gysylltnod lwyddo'r tri rhif.

Trwy ddefnyddio'r bracedi bras gallwch wneud y chwiliad yn llai fel a ganlyn:

grep "^ [0-9] \ {3 \} -" rhifau

Mae'r slash yn dianc o'r {bracket fel ei fod yn gweithio fel rhan o'r mynegiant rheolaidd ond yn ei hanfod beth mae hyn yn ei ddweud yw [0-9] {3} sy'n golygu unrhyw rif rhwng 0 a 9 dair gwaith.

Gellir defnyddio'r bracedi cromlin hefyd fel a ganlyn:

{5,10}

{5,}

Mae'r {5,10} yn golygu bod rhaid ailadrodd y cymeriad y mae'n chwilio amdano o leiaf 5 gwaith ond dim mwy na 10 tra bod y {5,} yn golygu bod yn rhaid i'r gymeriad gael ei ailadrodd o leiaf 5 gwaith ond gall fod yn fwy na hynny.

09 o 09

Defnyddio'r Allbwn o Reolaethau Eraill Defnyddio grep

Hyd yn hyn rydym wedi edrych ar gydweddu patrymau mewn ffeiliau unigol ond gall grep ddefnyddio'r allbwn o orchmynion eraill fel y mewnbwn ar gyfer cyfateb patrwm.

Enghraifft wych o hyn yw defnyddio'r gorchymyn ps sy'n rhestru prosesau gweithgar.

Er enghraifft, rhedeg y gorchymyn canlynol:

ps -ef

Bydd yr holl brosesau rhedeg ar eich system yn cael eu harddangos.

Gallwch ddefnyddio grep i chwilio am broses redeg benodol fel a ganlyn:

ps -ef | grep firefox

Crynodeb

Mae'r gorchymyn grep yn orchymyn Linux sylfaenol ac mae'n werth gwerth chweil gan y bydd yn gwneud eich bywyd yn haws wrth chwilio am ffeiliau a phrosesau wrth ddefnyddio'r terfynell.