Pananglitan sa Paggamit Sa Linux grep Command

Pasiuna

Ang Linux grep nga sugo gigamit ingon nga usa ka pamaagi alang sa pagsala input.

Ang GREP nagpasabut sa Global Regular Expression Printer ug busa aron epektibong magamit kini, kinahanglan nga adunay kahibalo mahitungod sa mga regular nga ekspresyon.

Sa sini nga artikulo, ipakita ko sa imo ang pila ka mga halimbawa nga magabulig sa imo nga mahangpan ang grep command.

01 sa 09

Sa unsa nga paagi nga pangitaon ang usa ka sagol sa usa ka file nga gigamit ang GREP

Ang Linux grep Command.

Hunahunaa nga ikaw adunay usa ka file sa teksto nga gitawag og mga libro uban sa mga mosunod nga mga ulohan sa libro sa mga bata:

Aron makita ang tanan nga mga libro nga may pulong nga "Ang" sa titulo nga imong gamiton ang mosunod nga syntax:

grep Ang mga libro

Ang mosunod nga mga resulta ibalik:

Sa matag kahimtang, ang pulong nga "Ang" paga-highlight.

Timan-i nga ang pagpangita mao ang sensitibo sa kaso mao nga kung ang usa sa mga titulo adunay "ang" imbis nga "Ang" nan dili kini ibalik.

Sa dili pagtagad sa kaso mahimo nimong idugang ang mosunod nga switch:

Ang mga libro - nga nag-una nga kaso

Mahimo usab nimo gamiton ang -i switch ingon sa mosunod:

grep -i ang mga libro

02 sa 09

Pagpangita Usa ka Sulud sa usa ka File Paggamit sa mga Wildcard

Ang mando sa grep gamhanan kaayo. Mahimo nimong gamiton ang daghang mga pamaagi sa pagtakdo sa mga sumbanan sa pag-filter sa mga resulta.

Sa kini nga pananglitan, ipakita ko kanimo unsaon pagpangita sa usa ka lambo sa usa ka file gamit ang mga wildcard .

Hunahunaa nga ikaw adunay usa ka file nga gitawag og mga lugar nga may mosunod nga mga pangalan sa lugar sa Scotland:

aberdeen

aberystwyth

aberlour

inverurie

Inverness

newburgh

bag-o nga usa

bag-ong galloway

glasgow

edinburgh

Kung gusto nimo makita ang tanang mga lugar nga adunay inver sa ngalan gamit ang mosunod nga syntax:

grep inver * places

Ang asterisk (*) nga wildcard nagpasabot sa 0 o daghan. Busa kung ikaw adunay usa ka dapit nga gitawag og inver o usa ka dapit nga gitawag og inverness nan ang duha mahibalik.

Ang laing wildcard nga imong magamit mao ang panahon (.). Mahimo nimo kini gamiton aron mahimong usa ka sulat.

grep inver.r lugar

Ang labaw sa sugo makakita sa mga dapit nga gitawag nga inverurie ug inverary apan dili makakaplag sa invereerie tungod kay adunay usa lamang nga wildcard sa taliwala sa duha sa ingon nga gipaila sa usa ka panahon.

Ang panahon nga wildcard mapuslanon apan kini mahimong hinungdan sa mga problema kon ikaw adunay usa nga bahin sa teksto nga imong gipangita.

Pananglitan tan-awa kining listahan sa mga ngalan sa domain

Aron mahibal-an ang tanan mahitungod sa mga pahina nga mahimo nimo pangitaon gamit ang mosunod nga syntax:

grep * bahin sa * mga domain name

Ang sugo sa ibabaw mahulog kung ang listahan naglangkob sa mosunod nga ngalan niini:

Busa, mahimo nimong sulayan ang mosunod nga syntax:

grep * about.com domain names

Mahimo kini nga ok kung walay domain nga adunay mosunod nga ngalan:

aboutycom.com

Sa tinuod nga pagpangita sa termino mahitungod sa.com kinahanglan nimo nga makalingkawas sa tulbok ingon sa mosunod:

grep * kabahin sa \ .com domainnames

Ang katapusan nga wildcard aron ipakita kanimo ang marka sa pangutana nga nagbarog sa zero o usa ka karakter.

Pananglitan:

grep? ber placenames

Ang labaw sa sugo mobalik sa aberdeen, aberystwyth o bisan berwick.

03 sa 09

Gipangita ang mga Singsing Sa Sinugdanan Ug Katapusan Sa Linya Paggamit sa grep

Ang carat (^) ug ang dolyar ($) nga simbolo nagtugot kanimo sa pagpangita sa mga sumbanan sa sinugdanan ug katapusan sa mga linya.

Hunahunaa nga adunay usa ka file nga gitawag nga football uban sa mosunod nga mga pangalan sa team:

Kung gusto nimo nga makit-an ang tanan nga mga team nga nagsugod sa Manchester nga imong gamiton ang mosunod nga syntax:

grep ^ Manchester teams

Ang labaw sa sugo mobalik sa Manchester City ug Manchester United apan dili FC United Of Manchester.

Mahimo usab nimo makita ang tanan nga mga team nga nagtapos sa United gamit ang mosunod nga syntax:

grep United teams

Ang labaw sa sugo nga mobalik Manchester United ug Newcastle United apan dili FC United Sa Manchester.

04 sa 09

Pag-ihap sa gidaghanon sa mga kadaugan Paggamit sa grep

Kung dili nimo gusto nga ibalik ang aktwal nga mga linya nga mohaum sa usa ka sumbanan gamit ang grep apan gusto lang nimo mahibal-an kung pila ang imong magamit sa mosunod nga syntax:

grep -c pattern inputfile

Kon ang sumbanan natugtog sa makaduha dayon ang numero 2 ibalik.

05 sa 09

Pagpangita sa Tanan nga Mga Termino nga Wala Magkauyon gamit ang grep

Hunahunaa nga ikaw adunay usa ka lista sa mga ngalan sa dapit uban sa mga nasud nga nalista ingon sa mosunod:

Mahimo nimong namatikdan nga ang baybayon sa colwyn walay nasud nga may kalabutan niini.

Aron pagpangita sa tanan nga mga lugar nga adunay usa ka nasud nga imong magamit ang mosunod nga syntax:

Mga $ nga lugar sa yuta

Ang mga resulta nga mobalik mao ang tanan nga mga dapit gawas sa colwyn bay.

Kini klaro nga nagabuhat lamang sa mga dapit nga natapos sa yuta (halos wala'y siyentipiko).

Mahimo nimong balihon ang pinili gamit ang mosunod nga syntax:

lugar sa yuta nga $

Kini makakaplag sa tanan nga mga dapit nga wala matapos sa yuta.

06 sa 09

Sa unsa nga paagi nga makit-an ang mga Late nga Lines Sa Mga File Gamit ang grep

Hunahunaa nga adunay usa ka input file nga gigamit sa usa ka third party nga aplikasyon nga mohunong sa pagbasa sa file kon kini makakaplag usa ka walay sulod nga linya sama sa mosunod:

Sa diha nga ang aplikasyon nga makuha sa linya human sa liverpool kini mohunong sa pagbasa nga ang kahulugan nga colwyn bay nga wala gayud makit-an.

Mahimo nimong gamiton ang grep sa pagpangita sa blangko nga mga linya uban sa mosunod nga syntax:

grep ^ $ places

Ikasubo nga dili kini mapuslanon tungod kay kini nagbalik lamang sa mga blangko nga linya.

Mahimo nga ikaw makadawat usa ka pag-ihap sa gidaghanon sa mga blangko nga linya ingon nga usa ka pagsusi aron masuta kung ang file balido ingon sa mosunod:

grep -c ^ $ places

Apan mas mapuslanon nga mahibal-an ang mga numero sa linya nga may blangko nga linya aron mapulihan nimo kini. Mahimo nimo kana sa mosunod nga sugo:

grep -n ^ $ places

07 sa 09

Sa unsa nga paagi nga pangitaon ang mga hilo sa dagkong mga alpabeto

Ang paggamit sa grep imong matino kung hain nga mga linya sa usa ka file adunay dagkong mga letra gamit ang mosunod nga syntax:

grep '[AZ]' filename

Ang mga square brackets [] nagtugot kanimo sa pagtino sa lainlaing mga karakter. Sa pananglitan sa ibabaw kini adunay matag usa nga kinaiya nga tali sa A ug Z.

Busa aron sa pagpares sa lowercase nga mga karakter mahimo nimo gamiton ang mosunod nga syntax:

grep '[az]' filename

Kon gusto ka nga magtugma lamang sa mga letra ug dili numeric o uban pang mga simbolo nga imong magamit ang mosunod nga syntax:

grep '[a-zA-Z]' filename

Mahimo nimo ang sama sa mga numero sama sa mosunod:

grep '[0-9]' filename

08 sa 09

Pagtan-aw sa Pag-usab nga mga Sumbanan Paggamit sa grep

Mahimo nimong gamiton ang curly brackets {} aron sa pagpangita sa balik-balik nga sumbanan.

Hunahunaa nga adunay usa ka file nga adunay mga numero sa telepono ingon sa mosunod:

Nahibal-an mo nga ang unang bahin sa numero kinahanglan nga tulo ka numero ug gusto nimo nga makita ang mga linya nga wala motakdo niini nga sumbanan.

Gikan sa miaging panig-ingnan nahibal-an nimo nga [0-9] ibalik ang tanang numero sa usa ka file.

Sa sini nga hitabo gusto namon ang mga linya nga nagasugod sa tatlo ka numero nga ginsundan sang isa ka hyphen (-). Mahimo nimo kana sa mosunod nga syntax:

grep "^ [0-9] [0-9] [0-9] -" mga numero

Sama sa atong nasayran gikan sa nangaging mga pananglitan ang carat (^) nagpasabot nga ang linya kinahanglan magsugod sa mosunod nga sumbanan.

Ang [0-9] magapangita sa bisan unsang gidaghanon tali sa 0 ug 9. Ingon kini gilakip sa tulo ka higayon kini adunay 3 nga gidaghanon. Sa katapusan adunay usa ka utlanan nga nagpasabut nga ang usa ka hyphen kinahanglan nga molampos sa tulo ka mga numero.

Pinaagi sa paggamit sa mga kulot nga kulot mahimo nimo ang pagsiksik nga mas gamay sama sa mosunod:

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

Ang slash makagawas sa {bracket aron kini magamit isip kabahin sa regular nga ekspresyon apan sa esensya unsay gisulti niini mao ang [0-9] {3} nga nagpasabot sa bisan unsang gidaghanon tali sa 0 ug 9 sa tulo ka beses.

Ang mga curly bracket mahimo usab nga gamiton sama sa mosunod:

(5,10)

{5,}

Ang {5,10} nagkahulogan nga ang kinaiya nga gipangita kinahanglang sublion dili moubos sa 5 ka beses apan dili mokubos sa 10 samtang ang {5,} nagpasabot nga ang kinaiya kinahanglan nga sublion dili moubos sa 5 ka beses apan mahimo kini labaw pa niana.

09 sa 09

Gigamit ang Output Gikan sa Ubang mga Sugo Paggamit sa grep

Hangtud karon atong gitan-aw ang panagsama sa panig-ingnan sulod sa tagsa-tagsa nga mga file apan ang grep makagamit sa output gikan sa uban nga mga sugo ingon nga input alang sa pagparis nga sumbanan.

Usa ka maayo nga pananglitan niini mao ang paggamit sa ps command nga naglista sa mga aktibong proseso.

Pananglitan sulati ang mosunod nga sugo:

ps -ef

Ang tanan nga mga running nga proseso sa imong sistema ipakita.

Mahimo nimo gamiton ang grep sa pagpangita sa usa ka partikular nga proseso sa pagpadagan sama sa mosunod:

ps -ef | grep firefox

Sumaryo

Ang sugo sa grep usa ka mahinungdanon nga command sa Linux ug usa kini nga maayo nga pagkat-on ingon nga kini makahimo sa imong kinabuhi nga mas sayon ​​sa pagpangita sa mga file ug mga proseso sa paggamit sa terminal.