Awọn apẹẹrẹ iṣe iṣe ti Linux grep Command


Njẹ o ti dojuko iṣẹ-ṣiṣe ti wiwa okun kan pato tabi apẹẹrẹ ni faili kan, sibẹ ko ni imọran ibiti o bẹrẹ wiwo? Daradara lẹhinna, nibi ni grep si igbala!

grep jẹ aṣawari apẹẹrẹ faili faili ti o lagbara ti o wa ni ipese lori gbogbo pinpin Lainos. Ti, fun idi eyikeyi, ko fi sori ẹrọ lori ẹrọ rẹ, o le ni rọọrun fi sii nipasẹ oluṣakoso package rẹ (apt-get on Debian/Ubuntu and yum on RHEL/CentOS/Fedora).

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

Mo ti rii pe ọna ti o rọrun julọ lati jẹ ki awọn ẹsẹ rẹ tutu pẹlu ọra ni lati kan bọ inu ọtun ki o lo diẹ ninu awọn apẹẹrẹ agbaye gidi.

1. Wa ati Wa Awọn faili

Jẹ ki a sọ pe o ti fi ẹda tuntun kan ti Ubuntu tuntun sori ẹrọ rẹ, ati pe iwọ yoo fun iwe afọwọkọ Python ni ibọn kan. O ti n wo oju opo wẹẹbu ti n wa awọn itọnisọna, ṣugbọn o rii pe awọn ẹya oriṣiriṣi meji ti Python wa ni lilo, ati pe o ko mọ eyi ti a fi sori ẹrọ lori ẹrọ rẹ nipasẹ olutọpa Ubuntu, tabi ti o ba fi awọn modulu eyikeyi sii. Nìkan ṣiṣe aṣẹ yii:

# 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

Ni akọkọ, a ran dpkg –l, eyiti awọn atokọ ti fi sori ẹrọ * .deb jo lori ẹrọ rẹ. Ẹlẹẹkeji, a fun ọjade naa si grep –i python, eyiti awọn ipinlẹ ti o rọrun\"lọ si grep ki o ṣe àlẹmọ ki o da ohun gbogbo pada pẹlu‘ python ’ninu rẹ.” Aṣayan -i wa nibẹ lati foju-ọran, bi grep ṣe jẹ ifura ọran. Lilo aṣayan –i jẹ ihuwasi ti o dara lati wọle, ayafi ti o dajudaju o n gbiyanju lati kan wiwa kan pato diẹ sii.

2. Wa ati Awọn faili Ajọ

A tun le lo ọra naa lati wa ati sisẹ laarin awọn faili kọọkan tabi awọn faili pupọ. Jẹ ki o gba iṣẹlẹ yii:

O n ni wahala diẹ pẹlu Olupin Wẹẹbu Apache rẹ, ati pe o ti de ọdọ ọkan ninu ọpọlọpọ awọn apero oniyi lori net nbeere iranlọwọ diẹ. Ọkàn aanu ti o dahun si ọ ti beere lọwọ rẹ lati firanṣẹ awọn akoonu ti faili rẹ/ati be be lo/apache2/awọn aaye-wa/aiyipada-ssl faili. Ṣe kii yoo rọrun fun ọ, eniyan ti o ṣe iranlọwọ fun ọ, ati gbogbo eniyan ti n ka a, ti o ba le yọ gbogbo awọn ila ti a sọ asọye kuro? Daradara o le! Kan ṣiṣe eyi:

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

Aṣayan –v sọ fun grep lati yi iṣẹjade rẹ pada, tumọ si pe dipo titẹ awọn ila ti o baamu, ṣe idakeji ki o tẹ gbogbo awọn ila ti ko baamu ikosile naa, ni ọran yii, awọn ila # asọye.

3. Wa gbogbo .mp3 Awọn faili Nikan

Grep le wulo pupọ fun sisẹ lati stdout. Fun apẹẹrẹ, jẹ ki a sọ pe o ni folda gbogbo rẹ ti o kun fun awọn faili orin ni opo awọn ọna kika oriṣiriṣi. O fẹ lati wa gbogbo awọn faili * .mp3 lati ọdọ olorin JayZ, ṣugbọn iwọ ko fẹ eyikeyi awọn orin ti a tunpo. Lilo pipaṣẹ wiwa pẹlu tọkọtaya ti awọn paipu ọra yoo ṣe ẹtan naa:

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

Ni apẹẹrẹ yii, a nlo wiwa lati tẹ gbogbo awọn faili pẹlu itẹsiwaju * .mp3, fifi paipu si grep –i lati ṣe àlẹmọ ati tẹ gbogbo awọn faili pẹlu orukọ\"JayZ" ati lẹhinna paipu miiran si grep -vi eyiti awọn asẹ jade ko ṣe tẹ gbogbo awọn orukọ faili pẹlu okun (ni eyikeyi idiyele)\"remix".

4. Nọmba Ifihan ti Awọn ila Ṣaaju tabi Lẹhin Okun Wiwa

Awọn aṣayan miiran tọkọtaya ni awọn iyipada –A ati –B, eyiti o ṣe afihan ila ti o baamu ati nọmba awọn ila boya ti o wa ṣaaju tabi lẹhin okun wiwa. Lakoko ti oju-iwe ọkunrin naa n fun alaye ni alaye diẹ sii, Mo rii rọrun julọ lati ranti awọn aṣayan bi –A = lẹhin, ati –B = ṣaaju:

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

5. Nọmba Awọn atẹjade ti Awọn Laini Ni ibamu Ere-ije

Aṣayan grep's -C jẹ iru, ṣugbọn dipo titẹ awọn ila ti o wa boya ṣaaju tabi lẹhin okun, o tẹ awọn ila ni ọna eyikeyi:

# ifconfig | grep –C 2 lo

6. Ka Nọmba Awọn ere-kere

Iru si fifa okun ọra kan si kika ọrọ (eto wc) aṣayan ti a ṣe sinu grep le ṣe kanna fun ọ:

# ifconfig | grep –c inet6

7. Ṣawari awọn faili nipasẹ fifun okun

Aṣayan -n fun grep wulo pupọ nigbati n ṣatunṣe awọn faili lakoko awọn aṣiṣe ikojọpọ. O ṣe afihan nọmba laini ninu faili ti okun wiwa ti a fun:

# grep –n “main” setup..py

8. Wa okun Ni Igbakọọkan ninu gbogbo Awọn ilana

Ti o ba fẹ lati wa okun ni itọsọna lọwọlọwọ pẹlu gbogbo awọn ipin-iṣẹ, o le ṣọkasi aṣayan –r lati wa ni atunkọ:

# grep –r “function” *

9. Awọn iwadii fun apẹẹrẹ gbogbo

Gbigbe aṣayan –w si awọn wiwa grep fun gbogbo apẹrẹ ti o wa ninu okun. Fun apẹẹrẹ, lilo:

# ifconfig | grep –w “RUNNING”

Yoo tẹ jade laini ti o ni apẹẹrẹ ninu awọn agbasọ. Ni apa keji, ti o ba gbiyanju:

# ifconfig | grep –w “RUN”

Ko si ohunkan ti yoo da pada bi a ko ṣe wa apẹẹrẹ, ṣugbọn ọrọ gbogbo.

10. Wa okun ni Awọn faili Gzipped

Ti o yẹ diẹ ninu darukọ jẹ awọn itọsẹ ti grep. Akọkọ jẹ zgrep, eyiti, iru si zcat, jẹ fun lilo lori awọn faili gzipped. O gba awọn aṣayan kanna bi ọra ati pe a lo ni ọna kanna:

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

11. Baramu Deede Ikede ni Awọn faili

Egrep jẹ itọsẹ miiran ti o duro fun\"Ifaagun Deede Agbaye Gbooro". O ṣe idanimọ afikun ikosile meta-kikọ bii ni +? | Ati().

egrep wulo pupọ fun wiwa awọn faili orisun, ati awọn ege koodu miiran, ti iwulo ba dide. O le pe lati grep deede nipasẹ sisọ aṣayan –E.

# grep –E

12. Wa Okun Apẹrẹ Ti o wa titi

Fgrep naa wa faili kan tabi atokọ awọn faili fun okun apẹrẹ apẹẹrẹ kan. O jẹ kanna bii grep -F. Ọna ti o wọpọ ti lilo fgrep ni lati kọja faili ti awọn ilana si rẹ:

# fgrep –f file_full_of_patterns.txt file_to_search.txt

Eyi jẹ aaye ibẹrẹ pẹlu grep, ṣugbọn bi o ṣe le ṣee rii, o ṣe pataki fun ọpọlọpọ awọn idi. Yato si awọn pipaṣẹ laini kan ti o rọrun ti a ti gbekalẹ, a le lo grep lati kọ awọn iṣẹ cron lagbara, ati awọn iwe afọwọkọ ti o lagbara, fun ibẹrẹ kan.

Jẹ ẹda, ṣe idanwo pẹlu awọn aṣayan inu oju-iwe eniyan, ki o wa pẹlu awọn ọrọ ọpẹ ti o ṣe awọn idi tirẹ!