Ihe atụ iwu egrep 20 bara uru na Linux


Nkowa: N'ime ntuziaka a, anyị ga-atụle ụfọdụ n'ime ihe atụ bara uru nke iwu egrep. Mgbe ịgbaso ntuziaka a, ndị ọrụ ga-enwe ike ịme nyocha ederede nke ọma na Linux.

Ọ dịtụla mgbe iwe were gị n'ihi na ị nweghị ike ịchọta ozi achọrọ na ndekọ? Ịwepụta ozi achọrọ site na nnukwu data data bụ ọrụ dị mgbagwoju anya ma na-ewe oge.

Ihe na-abụ ihe ịma aka n'ezie ma ọ bụrụ na sistemụ arụmọrụ anaghị enye ngwaọrụ kwesịrị ekwesị ma ebe a na-abịa Linux iji napụta gị. Linux na-enye akụrụngwa nzacha ederede dị iche iche dị ka sed, ịkpụ, wdg.

Agbanyeghị, egrep bụ otu n'ime akụrụngwa kachasị ike na nke a na-ejikarị maka nhazi ederede na Linux, anyị ga-atụle ụfọdụ ọmụmaatụ nke iwu egrep.

Ezinụlọ nke iwu grep ghọtara iwu egrep na Linux, nke a na-eji maka ịchọ na dakọtara otu ụkpụrụ na faịlụ. Ọ na-arụ ọrụ n'otu aka ahụ grep -E (grep Extended regex), mana ọ na-achọkarị otu faịlụ ma ọ bụ ọbụna ahịrị iji kwụ ma ọ bụ bipụta ahịrị na faịlụ enyere.

Usoro nke iwu egrep bụ nke a:

$ egrep [OPTIONS] PATTERNS [FILES]

Ka anyị mepụta faịlụ ederede nlere nwere ọdịnaya ndị a iji jiri ọmụmaatụ:

$ cat sample.txt

N'ebe a, anyị nwere ike ịhụ na faịlụ ederede dị njikere. Ugbu a, ka anyị tụlee ihe atụ ole na ole a na-ahụkarị nke a pụrụ iji mee ihe kwa ụbọchị.

Ka anyị were ihe atụ dabara n'ụzọ dị mfe, ebe anyị nwere ike iji iwu dị n'okpuru wee chọọ eriri ọkachamara na faịlụ sample.txt:

$ egrep professionals sample.txt

N'ebe a, anyị nwere ike ịhụ na iwu ahụ na-ebipụta ahịrị nke nwere ụkpụrụ akọwapụtara.

Anyị nwere ike ime ka mmepụta ihe na-enye ihe ọmụma site n'ịkọwapụta ụkpụrụ dabara adaba. Iji nweta nke a, anyị nwere ike iji --acha nhọrọ nke iwu egrep. Dịka ọmụmaatụ, iwu dị n'okpuru ga-eme ka ederede ndị ọkachamara pụta ìhè na agba uhie:

$ egrep --color=auto professionals sample.txt

N'ebe a, anyị nwere ike ịhụ na otu mmepụta ahụ na-enye nkọwa karịa ka e jiri ya tụnyere nke gara aga. Ọzọkwa, anyị nwere ike ịmata n'ụzọ dị mfe na okwu ndị ọkachamara na-emegharị ugboro abụọ.

N'ọtụtụ sistemụ Linux a na-akwado ntọala dị n'elu site na ndabara site na iji utu aha a:

$ alias egrep='egrep –color=auto'

Iwu egrep na-anabata ọtụtụ faịlụ dị ka arụmụka, nke na-enye anyị ohere ịchọ otu ụkpụrụ na ọtụtụ faịlụ. Ka anyị were ihe atụ ghọta nke a.

Nke mbụ, mepụta otu faịlụ sample.txt:

$ cp sample.txt sample-copy.txt

Ugbu a, chọọ ụkpụrụ ndị ọkachamara na faịlụ abụọ a:

$ egrep professionals sample.txt sample-copy.txt 

N'ihe atụ dị n'elu, anyị nwere ike ịhụ aha faịlụ na mmepụta, nke na-anọchite anya ahịrị dakọtara na faịlụ ahụ.

Mgbe ụfọdụ, ọ dị anyị mkpa ịchọpụta ma ụkpụrụ dị na faịlụ ahụ ma ọ bụ na ọ bụghị. Ọ bụrụ ee, n'ahịrị ole ka ọ dị ugbu a? N'ọnọdụ dị otú ahụ, anyị nwere ike iji -c nhọrọ nke iwu ahụ.

Dịka ọmụmaatụ, iwu dị n'okpuru ga-egosi 1 dị ka mmepụta n'ihi na okwu ndị ọkachamara dị naanị n'otu ahịrị.

$ egrep -c professionals sample.txt

1

N'atụmatụ gara aga, anyị hụrụ na nhọrọ -c anaghị agụta ọnụ ọgụgụ ihe omume nke ụkpụrụ ahụ. Dịka ọmụmaatụ, okwu ndị ọkachamara pụtara ugboro abụọ n'otu ahịrị mana nhọrọ -c na-ewere ya dị ka otu egwuregwu naanị.

N'ọnọdụ dị otú ahụ, anyị nwere ike iji -o nhọrọ nke iwu ibipụta naanị ụkpụrụ dabara adaba. Dịka ọmụmaatụ, iwu dị n'okpuru ga-egosi okwu ndị ọkachamara n'ahịrị abụọ dị iche iche:

$ egrep -o professionals sample.txt

Ugbu a, ka anyị gụọ ahịrị ndị ahụ site na iji iwu wc:

$ egrep -o professionals sample.txt | wc -l

N'ihe atụ a dị n'elu, anyị ejirila nchikota egrep na wc iwu iji gụọ ọnụọgụ ihe omume nke otu ụkpụrụ ahụ.

Site na ndabara, egrep na-arụ usoro dakọtara n'ụzọ nwere mmetụta. Ọ pụtara okwu – anyị, Anyị, anyị, na ANYỊ ka a na-ewere dị ka okwu dị iche iche. Agbanyeghị, anyị nwere ike ịmanye nchọta enweghị mmetụta site na iji -i nhọrọ.

Dịka ọmụmaatụ, n'ime ụkpụrụ iwu dị n'okpuru ga-aga nke ọma maka ederede anyị na Anyị:

$ egrep -i we sample.txt 

N'ihe atụ gara aga, anyị hụrụ na iwu egrep na-arụ otu egwuregwu. Dịka ọmụmaatụ, mgbe anyị na-achọgharị ederede anyị mgbe ahụ ụkpụrụ dakọtara gara nke ọma maka ederede ndị ọzọ. Dị ka webụsaịtị, webụsaịtị, na were.

Iji merie mmachi a, anyị nwere ike ịhọrọ -w, nke na-eme ka okwu niile kwekọọ.

$ egrep -w we sample.txt

Ruo ugbu a, anyị na-eji iwu egrep bipụta ahịrị ndị usoro enyere dị na ya. Otú ọ dị, mgbe ụfọdụ, anyị na-achọ ịrụ ọrụ ahụ n'ụzọ dị iche.

Dịka ọmụmaatụ, anyị nwere ike ibipụta ahịrị ndị ụkpụrụ enyere na-adịghị. Anyị nwere ike ime nke a site n'enyemaka nke nhọrọ -v:

$ egrep -v we sample.txt

N'ebe a, anyị nwere ike ịhụ na iwu ahụ na-ebipụta ahịrị niile na-enweghị ederede anyị.

Anyị nwere ike iji -n nhọrọ nke iwu ahụ iji mee ka ọnụọgụ ahịrị nwee ike, nke na-egosi ọnụọgụ ahịrị dị na mmepụta mgbe ụkpụrụ dabara adaba. Aghụghọ a dị mfe na-eme ka mmepụta ahụ nwekwuo uru.

$ egrep -n professionals sample.txt

Na mmepụta dị n'elu, anyị nwere ike ịhụ na okwu ndị ọkachamara dị na ahịrị nke ise.

Na ọnọdụ dị jụụ, iwu egrep anaghị ebipụta ụkpụrụ dakọtara. Yabụ na anyị ga-eji uru nloghachi nke iwu ahụ iji chọpụta ma ndakọrịta ụkpụrụ ọ gara nke ọma.

Anyị nwere ike iji -q nhọrọ nke iwu ahụ iji mee ka ọnọdụ dị jụụ, nke na-abịa na aka mgbe ị na-ede scripts shei.

$ egrep -q professionals sample.txt
$ egrep -q non-existing-pattern sample.txt

N'ihe atụ a, uru nlọghachi efu na-egosi ọnụnọ nke ụkpụrụ ebe uru na-abụghị efu na-egosi enweghị ụkpụrụ.

Mgbe ụfọdụ, ọ bụ ihe ezi uche dị na ya igosi ahịrị ole na ole n'akụkụ ụkpụrụ dakọtara. Maka ọnọdụ ndị dị otú ahụ, anyị nwere ike iji -B nhọrọ nke iwu ahụ, nke na-egosipụta ahịrị N tupu ụkpụrụ dabara adaba.

Dịka ọmụmaatụ, iwu dị n'okpuru ga-ebipụta ahịrị nke egwuregwu ụkpụrụ na-aga nke ọma yana ahịrị 2 n'ihu ya.

$ egrep -B 2 -n professionals sample.txt 

N'ihe atụ a, anyị ejirila nhọrọ -n gosi nọmba ahịrị.

N'otu aka ahụ, anyị nwere ike iji -A nhọrọ nke iwu iji gosipụta ahịrị ka emechara usoro ahụ. Dịka ọmụmaatụ, iwu dị n'okpuru ga-ebipụta ahịrị nke egwuregwu ụkpụrụ na-aga nke ọma yana ahịrị 2 na-esote.

$ egrep -A 2 -n professionals sample.txt

Na mgbakwunye na nke a, iwu egrep na-akwado nhọrọ -C nke jikọtara ọrụ nke nhọrọ -A na -B, nke na-egosipụta ahịrị tupu na mgbe ụkpụrụ dakọtara.

$ egrep -C 2 -n professionals sample.txt 

Dị ka a tụlere na mbụ, anyị nwere ike ịrụ usoro dakọtara na ọtụtụ faịlụ. Agbanyeghị, ọnọdụ ahụ na-aghọ aghụghọ mgbe faịlụ dị n'okpuru ọtụtụ akwụkwọ ndekọ aha ma anyị gafere ha niile dị ka arụmụka iwu.

N'ọnọdụ ndị dị otú ahụ, anyị nwere ike ime ụkpụrụ ndakọrịta n'ụzọ ọzọ site na iji -r nhọrọ dị ka egosiri na ihe atụ na-esonụ.

Mbụ, mepụta 2 sub-directories na detuo sample.txt faịlụ n'ime ha:

$ mkdir -p dir1/dir2
$ cp sample.txt dir1/
$ cp sample.txt dir1/dir2/

Ugbu a, ka anyị rụọ ọrụ ọchụchọ ahụ n'ụzọ na-agbanwe agbanwe:

$ egrep -r professionals dir1

N'ihe atụ dị n'elu, anyị nwere ike ịhụ na egwuregwu ahụ nwere ihe ịga nke ọma maka faịlụ dir1/dir2/sample.txt na dir1/sample.txt.

Anyị nwere ike iji akara (.) ka ọ dabara otu mkpụrụedemede ma ewezuga n'ọgwụgwụ ahịrị. Dịka ọmụmaatụ, okwu dị n'okpuru ebe a dabara adaba na ederede har, okpu na nwere:

$ egrep "ha." sample.txt

Anyị nwere ike iji akara mmuke (*) dakọtara efu ma ọ bụ karịa ihe omume nke agwa gara aga. Dịka ọmụmaatụ, okwu nke dị n'okpuru dakọtara ederede nke nwere eriri anyị na-esote efu ma ọ bụ ihe omume b.

$ egrep "web*" sample.txt

Anyị nwere ike iji gbakwunyere (+) iji dakọọ otu ihe omume ma ọ bụ karịa nke agwa gara aga. Ọmụmaatụ, okwu oge niile dị n'okpuru dabara na ederede nke nwere eriri anyị na-esote opekata mpe otu omume b.

$ egrep "web+" sample.txt

N'ebe a, anyị nwere ike ịhụ na ndakọrịta ụkpụrụ anaghị aga nke ọma maka okwu - anyị na bụ, n'ihi enweghị akara b.

Anyị nwere ike iji caret (^) maka mmalite nke ahịrị. Dịka ọmụmaatụ, okwu nke dị n'okpuru na-ebipụta ahịrị ndị na-amalite site na ederede Anyị:

$ egrep "^We" sample.txt

Anyị nwere ike iji dollar ($) gosipụta njedebe nke ahịrị. Dịka ọmụmaatụ, okwu nke dị n'okpuru na-ebipụta ahịrị ndị kwụsịrị na ederede e.:

$ egrep "e.$" sample.txt

Anyị nwere ike iji caret (^) ozugbo na dollar ($) sochiri ahịrị efu. Ka anyị jiri nke a na nkwupụta oge niile wepụ ahịrị efu:

$ egrep -n -v "^$" sample.txt

Na mmepụta dị n'elu, anyị nwere ike ịhụ na nọmba ahịrị 2, 4, 6, 8, na 10 adịghị egosipụta ka ha tọgbọrọ chakoo.

N'isiokwu a, anyị tụlere ụfọdụ ihe atụ bara uru nke iwu egrep. Mmadụ nwere ike iji ihe atụ ndị a na ndụ kwa ụbọchị iji kwalite nrụpụta.

Ị maara ihe atụ ọ bụla kacha mma nke iwu egrep na Linux? Mee ka anyị mara echiche gị na nkọwa ndị dị n'okpuru.