Mifano 12 ya Vitendo ya Linux grep Amri


Je! umewahi kukumbana na kazi ya kutafuta mfuatano au mchoro fulani kwenye faili, lakini hujui pa kuanzia kutafuta? Kweli basi, hapa kuna grep kwa uokoaji!

grep ni kitafuta muundo chenye nguvu cha faili ambacho huja kikiwa na kila usambazaji wa Linux. Ikiwa, kwa sababu yoyote ile, haijasanikishwa kwenye mfumo wako, unaweza kuisakinisha kwa urahisi kupitia meneja wa kifurushi chako (apt-get on Debian/Ubuntu na yum kwenye RHEL/CentOS/Fedora).

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

Nimegundua kuwa njia rahisi ya kupata miguu yako na grep ni kuingia tu ndani na kutumia mifano ya ulimwengu halisi.

1. Tafuta na Tafuta Faili

Wacha tuseme kwamba umesakinisha nakala mpya ya Ubuntu mpya kwenye mashine yako, na kwamba utatoa picha ya uandishi wa Python. Umekuwa ukivinjari wavuti ukitafuta mafunzo, lakini unaona kwamba kuna matoleo mawili tofauti ya Python yanayotumika, na hujui ni ipi iliyosakinishwa kwenye mfumo wako na kisakinishi cha Ubuntu, au ikiwa imesakinisha moduli zozote. Endesha amri hii tu:

# 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

Kwanza, tuliendesha dpkg -l, ambayo huorodhesha vifurushi vya *.deb vilivyosakinishwa kwenye mfumo wako. Pili, tuliweka pato hilo kwa grep -i python, ambayo inasema rahisi kwenda kwa grep na kuchuja na kurudisha kila kitu na 'python' ndani yake. Chaguo la -i lipo kupuuza-kesi, kwa vile grep ni nyeti kwa kesi. Kutumia chaguo la -i ni tabia nzuri ya kuingia, isipokuwa bila shaka unajaribu kubana utafutaji mahususi zaidi.

2. Tafuta na Chuja Faili

Grep pia inaweza kutumika kutafuta na kuchuja ndani ya faili za kibinafsi au faili nyingi. Wacha tuchukue kisa hiki:

Unatatizika na Seva yako ya Wavuti ya Apache, na umefikia mojawapo ya vikao vingi vya kuvutia kwenye wavu ukiomba usaidizi. Mwenye fadhili anayekujibu amekuuliza uchapishe yaliyomo kwenye faili yako /etc/apache2/sites-available/default-ssl. Je, haingekuwa rahisi kwako, mtu anayekusaidia, na kila mtu anayeisoma, ikiwa ungeweza kuondoa mistari yote ya maoni? Vizuri unaweza! Endesha hii tu:

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

Chaguo la -v linamwambia grep kugeuza matokeo yake, kumaanisha kuwa badala ya kuchapisha mistari inayolingana, fanya kinyume na uchapishe mistari yote ambayo hailingani na usemi, katika kesi hii, mistari # iliyopewa maoni.

3. Pata Faili zote za .mp3 Pekee

Grep inaweza kuwa muhimu sana kwa kuchuja kutoka kwa stdout. Kwa mfano, hebu tuseme kwamba una folda nzima iliyojaa faili za muziki katika kundi la umbizo tofauti. Unataka kupata faili zote za *.mp3 kutoka kwa msanii JayZ, lakini hutaki nyimbo zozote zilizochanganywa. Kutumia find amri na bomba kadhaa za grep kutafanya ujanja:

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

Katika mfano huu, tunatumia find kuchapisha faili zote kwa kiendelezi cha *.mp3, tukisambaza hadi grep -i kuchuja na kuchapisha faili zote zilizo na jina \JayZ na kisha bomba lingine hadi grep -vi ambayo huchuja na haichapishi majina yote ya faili kwa mfuatano (kwa hali yoyote) \remix.

4. Onyesha Nambari ya Mistari Kabla au Baada ya Kamba ya Utafutaji

Chaguzi zingine kadhaa ni swichi za -A na -B, ambazo huonyesha laini inayolingana na idadi ya mistari inayokuja kabla au baada ya mfuatano wa utafutaji. Wakati ukurasa wa mtu unatoa maelezo ya kina zaidi, naona ni rahisi kukumbuka chaguzi kama -A = baada, na -B = kabla:

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

5. Chapisha Idadi ya Mistari Karibu na Mechi

Chaguo la grep's -C ni sawa, lakini badala ya kuchapisha mistari inayokuja kabla au baada ya kamba, inachapisha mistari kwa mwelekeo wowote:

# ifconfig | grep –C 2 lo

6. Hesabu Idadi ya Mechi

Sawa na kusambaza kamba ya grep kwa hesabu ya maneno (mpango wa wc) chaguo la ndani la grep linaweza kukufanyia vivyo hivyo:

# ifconfig | grep –c inet6

7. Tafuta Faili kwa Kamba Iliyopewa

Chaguo la -n la grep ni muhimu sana wakati wa kurekebisha faili wakati wa makosa ya kukusanya. Inaonyesha nambari ya mstari kwenye faili ya kamba uliyopewa ya utaftaji:

# grep –n “main” setup..py

8. Tafuta mfuatano wa Kujirudia katika Saraka zote

Ikiwa ungependa kutafuta kamba katika saraka ya sasa pamoja na saraka zote ndogo, unaweza kubainisha chaguo la -r kutafuta kwa kujirudia:

# grep –r “function” *

9. Hutafuta muundo mzima

Kupitisha chaguo la -w kutafuta grep kwa muundo mzima ulio kwenye kamba. Kwa mfano, kwa kutumia:

# ifconfig | grep –w “RUNNING”

Itachapisha mstari ulio na muundo katika nukuu. Kwa upande mwingine, ikiwa utajaribu:

# ifconfig | grep –w “RUN”

Hakuna kitakachorejeshwa kwani hatutafuti muundo, lakini neno zima.

10. Tafuta mfuatano katika Faili za Gzipped

Inastahili kutajwa ni derivatives za grep. Ya kwanza ni zgrep, ambayo, sawa na zcat, ni ya matumizi kwenye faili za gzipped. Inachukua chaguzi sawa na grep na inatumika kwa njia ile ile:

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

11. Linganisha Usemi wa Kawaida katika Faili

Egrep ni toleo lingine linalowakilisha \Maonyesho ya Kawaida ya Ulimwenguni Iliyoongezwa. Inatambua herufi za ziada za usemi kama vile + ? | na().

egrep ni muhimu sana kwa kutafuta faili za chanzo, na vipande vingine vya nambari, ikiwa hitaji litatokea. Inaweza kualikwa kutoka kwa grep ya kawaida kwa kubainisha chaguo la -E.

# grep –E

12. Tafuta Kamba Iliyorekebishwa ya Muundo

fgrep hutafuta faili au orodha ya faili kwa mfuatano usiobadilika. Ni sawa na grep -F. Njia ya kawaida ya kutumia fgrep ni kupitisha faili ya muundo kwake:

# fgrep –f file_full_of_patterns.txt file_to_search.txt

Hiki ni sehemu ya kuanzia na grep, lakini kama unavyoweza kuona, ni muhimu sana kwa madhumuni anuwai. Kando na amri rahisi za mstari mmoja ambazo tumetekeleza, grep inaweza kutumika kuandika kazi zenye nguvu za cron, na hati dhabiti za ganda, kwa mwanzo.

Kuwa mbunifu, jaribu chaguzi katika ukurasa wa mtu, na upate misemo ya grep ambayo inatimiza madhumuni yako mwenyewe!