Ihe atụ 12 bara uru nke iwu Linux grep


Ọ dịtụla mgbe ị zutere ọrụ nke ịchọ otu eriri ma ọ bụ ụkpụrụ na faịlụ, ma ị maghị ebe ị ga-amalite ile anya? Ya mere, ebe a bụ grep maka nnapụta!

grep bụ onye na-achọ ụkpụrụ faịlụ dị ike nke na-abịa na nkesa Linux ọ bụla. Ọ bụrụ na, maka ihe ọ bụla kpatara ya, etinyeghị ya na sistemụ gị, ịnwere ike ịwụnye ya ngwa ngwa site na njikwa ngwugwu gị (apt-get na Debian/Ubuntu na yum na RHEL/CentOS/Fedora).

$ sudo apt-get install grep         #Debian/Ubuntu
$ sudo yum install grep             #RHEL/CentOS/Fedora

Achọpụtara m na ụzọ kachasị mfe iji mee ka ụkwụ gị rie mmiri na grep bụ naanị ịbanye na ya wee jiri ụfọdụ ihe atụ ụwa n'ezie.

1. Chọọ ma chọta faịlụ

Ka anyị kwuo na ị tinyela otu Ubuntu ọhụrụ na igwe gị, na ị ga-enye Python scripting. Ị na-enyocha weebụ na-achọ nkuzi, mana ị na-ahụ na e nwere ụdị Python abụọ dị iche iche na-eji, na ị maghị nke etinyere na sistemụ gị site n'aka Ubuntu installer, ma ọ bụ ọ bụrụ na etinyere modul ọ bụla. Naanị mee iwu a:

# dpkg -l | grep -i python
ii  python2.7                        2.7.3-0ubuntu3.4                    Interactive high-level object-oriented language (version 2.7)
ii  python2.7-minimal                2.7.3-0ubuntu3.4                    Minimal subset of the Python language (version 2.7)
ii  python-openssl                   0.12-1ubuntu2.1                     Python wrapper around the OpenSSL library
ii  python-pam                       0.4.2-12.2ubuntu4                   A Python interface to the PAM library

Nke mbụ, anyị na-agba ọsọ dpkg -l, nke depụtara ngwugwu * .deb arụnyere na sistemụ gị. Nke abụọ, anyị na-akpọpụta mmepụta ahụ ka ọ bụrụ grep -i python, nke dị mfe na-ekwu gaa na grep wee nyochaa ma weghachi ihe niile na 'python' dị na ya. Nhọrọ -i bụ ebe a na-eleghara ikpe anya, dịka grep bụ ihe na-emetụ n'ahụ Iji nhọrọ -i bụ àgwà dị mma nke ịbanye, ọ gwụla ma ị na-agbalị ịkụtu ọchụchọ ka ukwuu.

2. Chọọ na iyo faịlụ

Enwere ike iji grep wee chọọ na nzacha n'ime faịlụ nke ọ bụla ma ọ bụ ọtụtụ faịlụ. Ka anyị were ọnọdụ a:

Ị na-enwe nsogbu na sava weebụ Apache gị, ma ị ruru otu n'ime ọtụtụ forums dị egwu na netwọk na-arịọ maka enyemaka. Mkpụrụ obi obi ọma na-aza gị agwala gị ka bipute ọdịnaya nke faịlụ /etc/apache2/sites-available/default-ssl gị. Ọ gaghị adịịrị gị mfe, onye na-enyere gị aka, na onye ọ bụla na-agụ ya, ma ọ bụrụ na ị nwere ike wepu ahịrị niile ahụ kwuru? Ọfọn ị nwere ike! Naanị mee ihe a:

# grep –v “#”  /etc/apache2/sites-available/default-ssl

Nhọrọ -v na-agwa grep ka ọ gbanwee mmepụta ya, nke pụtara na kama ibipụta ahịrị ndị dabara adaba, mee nke ọzọ ma bipụta ahịrị niile na-adabaghị na okwu ahụ, na nke a, ahịrị # kwuru.

3. Chọta ihe niile .mp3 Files Only

grep nwere ike ịba uru nke ukwuu maka nzacha site na stdout. Dịka ọmụmaatụ, ka anyị kwuo na ị nwere folda zuru ezu juputara na faịlụ egwu na ụyọkọ ụdị dị iche iche. Ịchọrọ ịchọta faịlụ * .mp3 niile sitere na onye na-ese ihe nkiri JayZ, mana ị chọghị egwu ọ bụla agbakwunyere. Iji iwu chọta ya na pipụ grep ole na ole ga-eme aghụghọ:

# find . –name “*.mp3” | grep –i JayZ | grep –vi “remix”

N'ihe atụ a, anyị na-eji chọta na-ebipụta faịlụ niile na * .mp3 ndọtị, na-atụgharị ya na grep -i ka ihichapụ ma bipụta faịlụ niile na aha \JayZ wee pịa ọzọ ka grep -vi. na-enyocha ma ghara iji eriri ebipụta aha faịlụ niile (n'ọnọdụ ọ bụla) \remix.

4. Ngosipụta ọnụọgụ nke ahịrị tupu ma ọ bụ mgbe eriri ọchụchọ

Nhọrọ abụọ ọzọ bụ -A na -B switches, nke na-egosiputa ahịrị dabara na ọnụọgụ nke ahịrị ma na-abịa tupu ma ọ bụ mgbe eriri ọchụchọ ahụ gasịrị. Ọ bụ ezie na ibe nwoke ahụ na-enye nkọwa zuru ezu karị, ọ na-adị m mfe icheta nhọrọ dị ka -A = mgbe, na -B = tupu:

# ifconfig | grep –A 4 eth0
# ifconfig | grep  -B 2 UP

5. Na-ebipụta Ọnụ ọgụgụ nke ahịrị gburugburu egwuregwu

Nhọrọ grep's -C yiri nke ahụ, mana kama ibipụta ahịrị ndị na-abịa tupu ma ọ bụ mgbe eriri ahụ gasịrị, ọ na-ebipụta ahịrị n'akụkụ ọ bụla:

# ifconfig | grep –C 2 lo

6. Ọnụ ọgụgụ nke egwuregwu

Yiri ịpịnye eriri grep na ọnụ ọgụgụ okwu (mmemme wc) nhọrọ arụnyere grep nwere ike imere gị otu ihe ahụ:

# ifconfig | grep –c inet6

7. Chọọ faịlụ site na eriri nyere

Nhọrọ -n maka grep bara uru nke ukwuu mgbe ị na-ehichapụ faịlụ n'oge nchịkọta njehie. Ọ na-egosiputa nọmba ahịrị na faịlụ nke eriri ọchụchọ enyere:

# grep –n “main” setup..py

8. Chọọ eriri ugboro ugboro na akwụkwọ ndekọ aha niile

Ọ bụrụ na ị ga-achọrọ eriri na ndekọ aha ugbu a yana subdirectories niile, ị nwere ike ezipụta nhọrọ –r ka ịchọọ ugboro ugboro:

# grep –r “function” *

9. Na-achọ usoro dum

Na-agafe nhọrọ -w iji grep ọchụchọ maka ụkpụrụ niile dị na eriri. Dịka ọmụmaatụ, iji:

# ifconfig | grep –w “RUNNING”

Ga-ebipụta ahịrị nwere ụkpụrụ na nhota okwu. N'aka nke ọzọ, ọ bụrụ na ị na-agbalị:

# ifconfig | grep –w “RUN”

Ọ dịghị ihe a ga-eweghachi ka anyị na-achọghị ụkpụrụ, ma otu dum okwu.

10. Chọọ eriri na faịlụ Gzipped

Kwesịrị ka a kpọtụrụ aha bụ ihe grep. Nke mbụ bụ zgrep, nke yiri zcat, bụ maka ojiji na faịlụ gzipped. Ọ na-ewe otu nhọrọ dị ka grep ma jiri ya n'otu ụzọ ahụ:

# zgrep –i error /var/log/syslog.2.gz

11. Dakọtara okwu mgbe niile na faịlụ

egrep bụ ihe mgbapụta ọzọ nke na-anọchi anya \Nkwupụta oge niile zuru ụwa ọnụ.

egrep bara uru nke ukwuu maka ịchọ faịlụ isi mmalite, yana mpempe koodu ndị ọzọ, ma ọ bụrụ na ọ dị mkpa. Enwere ike ịkpọ ya site na grep mgbe niile site na ịkọwa nhọrọ -E.

# grep –E

12. Chọọ eriri ụkpụrụ edobere

fgrep na-achọ faịlụ ma ọ bụ ndepụta faịlụ maka eriri ụkpụrụ edoziri. Ọ bụ otu ihe ahụ dị ka grep –F. Otu esi eji fgrep eme ihe bụ ịnyefe faịlụ nke ụkpụrụ na ya:

# fgrep –f file_full_of_patterns.txt file_to_search.txt

Nke a bụ naanị mmalite na grep, mana dịka ị nwere ike ịhụ, ọ bara uru maka ebumnuche dị iche iche. Ewezuga otu iwu ahịrị dị mfe anyị mejuputara, enwere ike iji grep dee ọrụ cron siri ike, yana scripts shei siri ike, maka mbido.

Bụrụ ihe okike, nwalee na nhọrọ dị na ibe nwoke, wee wepụta okwu grep na-eje ozi nke gị ebumnuche!