Giunsa Paggamit ang fgrep Command aron Makita ang mga String sa Teksto sa mga File


Mubo: Niining bag-o nga mahigalaon nga giya, atong hisgotan ang pipila ka praktikal nga mga pananglitan sa fgrep command. Sa pagtapos niini nga giya, ang mga tiggamit makahimo sa paghimo sa mga operasyon sa pagpangita sa teksto nga epektibo gamit ang command line interface.

Ang pagpangita sa teksto usa sa labing sagad nga gihimo nga mga operasyon. Bisan pa, kini nga yano nga buluhaton dali nga mahimong makaut-ot sa oras kung ang mga tiggamit dili pamilyar sa husto nga mga himan. Sa Linux, adunay lain-laing mga text-filtering utilities sama sa sed, cut, etc.

Bisan pa, sa Linux, ang fgrep mao ang labing gipalabi nga gamit alang sa yano nga pagpangita sa teksto. Niini nga giya, atong hisgutan ang pipila ka mga praktis nga ehemplo sa fgrep command nga magamit sa adlaw-adlaw nga kinabuhi.

Ang fgrep command sa Linux nahulog ubos sa pamilya sa grep command. Bisan pa, gigamit kini aron pangitaon ang piho nga sumbanan sa string imbes nga regular nga mga ekspresyon. Busa ang ngalan sa sugo mao ang fgrep (Fixed GREP).

Ang syntax sa fgrep command susama sa uban nga grep family commands:

$ fgrep [OPTIONS] PATTERNS [FILES]

Sa pagsugod, maghimo kita og usa ka yano nga text file nga adunay mosunod nga mga sulod aron magamit ang usa ka pananglitan:

$ cat input.txt

Dinhi, atong makita nga ang text file andam na uban sa sample sulod. Karon atong hisgutan ang pipila ka kasagarang mga pananglitan sa fgrep command sa sunod nga pipila ka mga pananglitan.

1. Unsa ka lahi ang fgrep kaysa grep ug egrep Commands?

Sama sa gisugyot sa ngalan, ang fgrep command gigamit sa pagpangita alang sa mga piho nga mga sumbanan sa string. Gihubad niini ang pattern isip usa ka fixed string imbes usa ka regular nga ekspresyon. Busa kini naghimo sa search operation sa usa ka panahon-episyente nga paagi.

Aron masabtan ang kalainan, gamiton nato ang usa ka tuldok (.) karakter nga adunay grep command.

Kining yano nga regular nga ekspresyon mohaum sa bisan unsang karakter gawas sa katapusan sa linya:

$ grep ha. input.txt

Sa ibabaw nga output, atong makita nga ang tulbok (.) karakter mitugma sa text har, hat, ug has.

Karon, atong gamiton ang sama nga sumbanan sa fgrep command ug obserbahan ang resulta:

$ fgrep ha. input.txt

Sa ibabaw nga output, atong makita nga ang sugo napakyas sa pagpangita sa gihatag nga sumbanan.

Kini mahitabo tungod kay ang fgrep nga sugo wala makaila sa mga regular nga ekspresyon ug naningkamot sa pagpangita sa wala na nga pattern - \ha..

[ Tingali ganahan ka usab: Unsa ang Kalainan Tali sa Grep, Egrep ug Fgrep sa Linux? ]

2. Unsaon pagpangita sa usa ka sumbanan sa usa ka file

Magsugod ta sa sukaranan nga pananglitan kung diin mangita kita usa ka propesyonal nga string sa usa ka input.txt file:

$ fgrep professionals input.txt

Sama sa atong makita, ang pattern matching molampos sa duha ka mga dapit ug kini gipasiugda sa pula nga kolor.

3. Unsaon Pagbutang sa Grep Output Color para sa Matched Patterns

Sa miaging pananglitan, among nakita nga, pinaagi sa default, ang gipares nga sumbanan gipasiugda sa pula nga kolor. Bisan pa, mahimo naton usbon kini nga pamatasan pinaagi sa pag-assign sa lahi nga kantidad sa GREP_COLOR variable sa palibot.

Atong i-assign ang value 32 sa GREP_COLOR environment variable aron i-highlight ang gipares nga pattern sa berde nga kolor:

$ export GREP_COLOR=32
$ fgrep professionals input.txt

Karon, sa dili pa mobalhin sa sunod nga pananglitan, i-unset ang GREP_COLOR environment variable aron mahimo ang default nga kinaiya:

$ unset GREP_COLOR

4. Unsaon Pagpangita sa Daghang Sumbanan sa Usa ka File

Usahay, kinahanglan namon nga himuon ang pagpares sa pattern alang sa daghang mga kuldas. Sa ingon nga mga kaso, mahimo namon nga mahatagan ang mga pattern gikan sa text file imbes sa argumento sa command line.

Magbuhat ta og text file nga adunay daghang mga pattern sa lahi nga linya:

$ cat pattern.txt

professionals
website

Karon, atong gamiton kini nga payl sa -f nga opsyon para sa multiple pattern matching:

$ fgrep -f pattern.txt input.txt

Sa ibabaw nga output, atong makita nga ang pattern matching molampos alang sa mga string nga propesyonal ug website.

5. Unsaon Limitahan ang Gidaghanon sa Matches sa File

Sa kasagaran, ang fgrep command nagpadayon sa paghimo sa pattern matching hangtud nga ang tibuok file maproseso.

Bisan pa, usahay kinahanglan naton limitahan ang gidaghanon sa mga posporo. Sa ingon nga mga kaso, mahimo natong gamiton ang -m nga opsyon uban ang sugo:

$ fgrep -m 1 professionals input.txt

TecMint was started on 15th August 2012 by technical professionals and all the

Niini nga pananglitan, ang fgrep nga sugo mohunong sa pagproseso sa file human sa pagpares sa unang sumbanan.

6. Unsaon Pag-imprinta sa Ngalan sa File Sa Pagpangita sa Sumbanan

Usahay, kinahanglan ra naton pangitaon ang ngalan sa mga file diin adunay usa ka partikular nga sumbanan. Sa maong mga kaso, mahimo natong gamiton ang -l nga opsyon sa fgrep command:

$ fgrep -l professionals input.txt

input.txt

Dinhi, atong makita nga ang sugo nag-imprinta lang sa ngalan sa file imbes sa mga linya nga adunay gipares nga mga sumbanan.

7. Unsaon Pag-imprinta sa Ngalan sa File Sa Dihang Mapakyas ang Pagtugma sa Pattern

Sa miaging pananglitan, among nakita kung giunsa ang pag-imprinta sa ngalan sa file kung ang pattern matching molampos. Karon, atong tan-awon kon sa unsang paagi sa pagbuhat sa operasyon sa usa ka balik nga paagi.

Atong sulayan nga pangitaon ang wala na nga pattern sa file ug tan-awa ang resulta:

$ fgrep -L non-existing-word input.txt

input.txt

Niini nga pananglitan, gigamit namo ang -L nga opsyon sa command nga nag-print sa ngalan sa file kung ang pattern matching dili molampos.

8. Unsaon Pagpugong sa mga Mensahe sa Sayop

Ang pagdumala sa sayup adunay hinungdanon nga papel samtang nagsulat sa mga script sa shell. Bisan pa, sa pipila nga dili kritikal nga mga senaryo, mahimo naton luwas nga ibaliwala ang mga mensahe sa sayup.

Sa fgrep, mahimo namong gamiton ang -s nga opsyon nga magpugong sa mga sayop nga may kalabutan sa wala na o dili mabasa nga mga file. Aron masabtan kini nga kinaiya sa mas maayong paagi, atong sulayan pagpangita ang usa ka sumbanan sa wala na nga file:

$ fgrep -s professionals non-existing-file.txt
$ echo $?

2

Sa ibabaw nga output, atong makita nga ang sugo wala magpakita sa bisan unsa nga sayop sa standard error stream. Bisan pa, ang kapakyasan gitaho sa dili zero nga kantidad sa pagbalik.

Dugang pa niini, mahimo usab naton nga maobserbahan ang parehas nga pamatasan kung ang file dili mabasa. Busa, una, usba ang permiso sa file gamit ang chmod command:

$ chmod 000 input.txt 
$ ls -l input.txt

Karon, sulayi pagpangita ang sumbanan ug tan-awa ang resulta:

$ fgrep -s professionals input.txt 
$ echo $?

Niini nga artikulo, among gihisgutan ang pipila ka mapuslanon nga mga pananglitan sa fgrep command. Mahimong gamiton sa mga nagsugod kini nga mga pananglitan sa adlaw-adlaw nga kinabuhi aron mapauswag ang pagka-produktibo samtang nagtrabaho kauban ang Linux.

Nakahibalo ka ba sa bisan unsa nga labing maayo nga pananglitan sa fgrep command sa Linux? Ipahibalo kanamo ang imong mga panglantaw sa mga komento sa ubos.