Eżempji Eżempju Ta 'L-Għaqda Grep ta' Linux

Introduzzjoni

Il-kmand grep ta 'Linux jintuża bħala metodu għall-filtrazzjoni tal-input.

Il-GREP huwa l-Printer Globali ta 'Espressjoni Regolari u għalhekk sabiex tużah b'mod effettiv, għandu jkollok ftit għarfien dwar espressjonijiet regolari.

F'dan l-artikolu, jiena ser nuruk numru ta 'eżempji li ser jgħinuk tifhem il-kmand grep.

01 ta '09

Kif tfittex għal String f'Fajl bl-użu ta 'GREP

Il-Kmand tal-grep Linux.

Immaġina li għandek fajl ta 'test imsejjaħ kotba bit-titoli tal-kotba tat-tfal li ġejjin:

Biex issib il-kotba kollha bil-kelma "Il-" fit-titlu tuża s-sintassi li ġejja:

grep Il-kotba

Ir-riżultati li ġejjin se jintbagħtu lura:

F'kull każ, il-kelma "Il-" se tkun enfasizzata.

Innota li t-tiftixa hija sensittiva għall-każijiet hekk jekk wieħed mit-titoli kellu "l-" minflok "Il-" allura ma kienx jiġi rritornat.

Biex tinjora l-każ tista 'żżid il-bidla li ġejja:

grep il-kotba - in-nuqqas ta 'każ

Tista 'wkoll tuża l-buttuna -i kif ġej:

grep -i l-kotba

02 ta '09

Tiftix għal String f'Fajl bl-użu ta 'Wildcards

Il-kmand grep huwa qawwi ħafna. Tista 'tuża numru kbir ta' tekniki ta 'tqabbil tal-mudell biex tiffiltra r-riżultati.

F'dan l-eżempju, jien ser nuruk kif tfittxija għal sekwenza f'fajl bl-użu ta ' kards wild .

Immaġina li għandek fajl imsejjaħ postijiet bl-ismijiet ta 'postijiet Skoċċiżi li ġejjin:

aberdeen

aberystwyth

aberlour

inverurie

inverness

newburgh

ċriev ġdid

galloway ġdid

Glasgow

edinburgh

Jekk trid issib il-postijiet kollha b'inver in the name, uża s-sintassi li ġejja:

Grep inver * postijiet

L-asterisk (*) wildcard jammonta għal 0 jew ħafna. Għalhekk jekk għandek post imsejjaħ inver jew post imsejjaħ inverness, it-tnejn jiġu rritornati.

Ieħor wildcard li tista 'tuża huwa l-perjodu (...). Tista 'tuża dan biex tqabbel ittra waħda.

postijiet grep inver.r

Il-kmand t'hawn fuq isib postijiet imsejħa inverurie u inverary iżda ma jsibx invereerie minħabba li jista 'jkun hemm wildcard wieħed biss bejn iż-żewġ r kif indikat fil-perjodu wieħed.

Il-wildcard perjodu huwa utli iżda jista 'jikkawża problemi jekk ikollok wieħed bħala parti mit-test li qed tfittex.

Pereżempju ħares lejn din il-lista ta 'ismijiet ta' domain

Biex issib l-about.coms kollha tista 'biss tfittex billi tuża s-sintassi li ġejja:

grep * dwar * domainnames

Il-kmand ta 'hawn fuq jaqa' jekk il-lista kien fiha l-isem li ġej fih:

Inti tista ', għalhekk, tipprova s-sintassi li ġejja:

grep * about.com domainnames

Dan jaħdem ok sakemm ma kienx hemm dominju bl-isem li ġej:

aboutycom.com

Biex verament ifittex it-terminu about.com ikollok bżonn tiskappa d-dot kif ġej:

grep * dwar \ .com domainnames

Il-wildcard finali li nuruk huwa s-sinjal ta 'interrogazzjoni li jfisser żero jew karattru wieħed.

Pereżempju:

Grep? ber placenames

Il-kmand t'hawn fuq jerġa 'lura aberdeen, aberystwyth jew anke berwick.

03 ta '09

Fittex Għall Strings Fuq Il-Bidu U Tmiem tal-Linja Bl-użu grep

Is-simbolu tal-karat (^) u d-dollaru ($) jippermettilek tfittex xejriet fil-bidu u fit-tmiem tal-linji.

Immaġina li għandek fajl imsejjaħ futbol bl-ismijiet tat-tim li ġejjin:

Jekk riedu jsibu t-timijiet kollha li bdew ma 'Manchester intom tuża s-sintassi li ġejja:

grep ^ Manchester timijiet

Il-kmand ta 'hawn fuq jirritorna Manchester City u Manchester United iżda mhux FC United Of Manchester.

Alternattivament tista 'ssib it-timijiet kollha li jispiċċaw ma' United bl-użu tas-sintassi li ġejja:

Grep United $ timijiet

Il-kmand ta 'hawn fuq jirritorna Manchester United u Newcastle United iżda mhux FC United Of Manchester.

04 ta '09

L-għadd ta 'logħbiet bl-użu ta' grep

Jekk ma tridx li tirritorna l-linji attwali li jaqblu ma 'mudell bl-użu ta' grep iżda inti biss trid tkun taf kemm hemm tista 'tuża s-sintassi li ġejja:

grep -c mudell inputfile

Jekk il-mudell kien imqabbel darbtejn, in-numru 2 ikun ritornat.

05 ta '09

Sib it-Termini kollha li ma Tqabbilx bl-użu ta 'grep

Immaġina li għandek lista ta 'ismijiet ta' postijiet mal-pajjiżi elenkati kif ġej:

Jista 'jkollok innutat li l-bajja ta' Colwyn m'għandha l-ebda pajjiż assoċjat miegħu.

Biex tfittex il-postijiet kollha ma 'pajjiż tista' tuża s-sintassi li ġejja:

Grep land $ postijiet

Ir-riżultati jirritornaw ikunu l-postijiet kollha ħlief għall-bajja ta 'Colwyn.

Dan ovvjament jaħdem biss għal postijiet li jispiċċaw fl-art (ftit li xejn xjentifiċi).

Tista 'taqleb il-għażla billi tuża s-sintassi li ġejja:

grep -v art $ postijiet

Dan isib il-postijiet kollha li ma spiċċawx ma 'l-art.

06 ta '09

Kif issib linji vojta fil-fajls bl-użu ta 'grep

Immaġina li għandek fajl tad-dħul li jintuża minn applikazzjoni ta 'parti terza li tieqaf taqra l-fajl meta ssib linja vojta kif ġej:

Meta l-applikazzjoni tasal għal-linja wara l-liverpool din se tieqaf taqra li tfisser li l-bajja ta 'Colwyn ma tintlaħaqx kompletament.

Tista 'tuża grep biex tfittex linji vojta bis-sintassi li ġejja:

grep ^ $ postijiet

Sfortunatament dan mhuwiex partikolarment utli għaliex jirritorna biss il-linji vojta.

Tista 'naturalment tikseb għadd tan-numru ta' linji vojta bħala kontroll biex tara jekk il-fajl huwiex validu kif ġej:

grep -c ^ $ postijiet

Ikun madankollu iktar utli li tkun taf in-numri tal-linja li għandhom linja vojta sabiex tista 'tissostitwixxihom. Tista 'tagħmel dan bil-kmand li ġej:

Grep -n ^ $ postijiet

07 tal-09

Kif Tiftix għal Ktajjen Ta 'Karatteristiċi b'kapplikazzjoni Żgħira jew Minuski Bl-użu ta' grep

Bl-użu tal-grep tista 'tiddetermina liema linji f'fajl ikollu karattri b'karattri kbar billi tuża s-sintassi li ġejja:

grep '[AZ]' filename

Il-parentesi kwadri [] tavżak tiddetermina l-firxa ta 'karattri. Fl-eżempju ta 'hawn fuq, jaqbel ma' kwalunkwe karattru bejn A u Z.

Għalhekk, biex tqabbel il-karattri żgħar tista 'tuża s-sintassi li ġejja:

grep "[az]" filename

Jekk trid tqabbel biss ittri u mhux numeriċi jew simboli oħra tista 'tuża s-sintassi li ġejja:

grep '[a-zA-Z]' filename

Tista 'tagħmel l-istess bin-numri kif ġej:

grep '[0-9]' filename

08 ta '09

Looking for Patterns Ripetuti Bl-użu grep

Tista 'tuża parentesi ċivil {} biex tfittex mudell ripetut.

Immaġina li għandek fajl bin-numri tat-telefon kif ġej:

Intom taf li l-ewwel parti tan-numru trid tkun ta 'tliet ċifri u trid issib il-linji li ma jaqblux ma' dan il-mudell.

Mill-eżempju ta 'qabel taf li [0-9] jirritorna n-numri kollha f'fajl.

F'dan il-każ irridu l-linji li jibdew bi tliet numri segwiti minn sing (-). Tista 'tagħmel dan bis-sintassi li ġejja:

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

Kif nafu minn eżempji preċedenti l-karat (^) tfisser li l-linja għandha tibda bil-mudell li ġej.

Il- [0-9] se tfittex għal kwalunkwe numru bejn 0 u 9. Minħabba li dan huwa inkluż tliet darbiet, dan jaqbel ma '3 numri. Fl-aħħarnett hemm silta li tindika li sing għandu jirnexxi fit-tliet numri.

Bl-użu tal-parentesi tal-kaboċċi tista 'tagħmel it-tfittxija iżgħar kif ġej:

Grep "^ [0-9] \ {3 \} -" in-numri

It-taffija taħrab mill-parentesi sabiex taħdem bħala parti mill-espressjoni regolari iżda essenzjalment dak li qed tgħid hija [0-9] {3} li jfisser kull numru bejn 0 u 9 tliet darbiet.

Il-parentesi tal-kaboċċi jistgħu jintużaw ukoll kif ġej:

{5,10}

{5,}

Il-{5,10} tfisser li l-karattru li qed jiġi mfittex għandu jiġi ripetut mill-inqas 5 darbiet iżda mhux aktar minn 10 filwaqt li l-{5,} ifisser li l-karattru għandu jiġi ripetut mill-inqas 5 darbiet iżda jista 'jkun aktar minn dak.

09 ta '09

Uża l-Output minn Kmandi Oħrajn Bl-użu ta 'grep

S'issa ħarisna t-tqabbil tal-mudell f'fajls individwali imma grep jista 'juża l-output minn kmandi oħra bħala l-input għal tqabbil tal-mudell.

Eżempju kbir ta 'dan huwa l-użu tal-kmand ps li jelenka l-proċessi attivi.

Per eżempju, imexxu l-kmand li ġej:

ps -ef

Se jintwerew il-proċessi kollha ta 'tħaddim fis-sistema tiegħek.

Tista 'tuża grep biex tfittex proċess partikolari ta' tħaddim kif ġej:

ps -ef | grep firefox

Sinteżi

Il-kmand grep huwa kmand tal-Linux fundamentali u huwa tajjeb li titgħallem kif tagħmel il-ħajja tiegħek ferm aktar faċli meta tiftix għal fajls u proċessi meta tuża t-terminal.