egrep: awọn apẹẹrẹ ti aṣẹ ni GNU / Linux

egrep

grep o jẹ ọkan ninu awọn irinṣẹ ti a lo julọ lori laini aṣẹ GNU / Linux. Pelu jijẹ ohun elo ti o rọrun pupọ, o gba ọ laaye lati ṣe nọmba nla ti awọn iṣẹ. O ti lo paapaa ni apapo pẹlu awọn paipu, lati ni anfani lati wa awọn aaye kan pato ninu iṣẹjade ti aṣẹ tẹlẹ, ati bẹbẹ lọ. Ṣugbọn ọpa tun wa ti a mọ bi egrep eyiti o jẹ deede si ṣiṣiṣẹ grep pẹlu aṣayan -E.

E wa lati "Afikun regex", eyiti o jẹ ohun ti n mu aṣayan -E ṣiṣẹ ati ohun ti o ni ni egrep nipasẹ aiyipada laisi lilo aṣayan yẹn. Iyẹn ni pe, o le lo awọn o gbooro sii awọn ifihan deede. Ninu ẹkọ yii Emi kii yoo lọ si ṣalaye kini awọn ikasi deede jẹ, bii wọn ṣe le lo ati iru awọn oriṣi wa ni * nix. Emi yoo kan fi awọn apẹẹrẹ iṣe ti diẹ ninu awọn nkan to wulo ti o le ṣe pẹlu egrep ...

grep, egrep, ati fgrep jọra. Ni otitọ, egrep jẹ deede si grep -E ati pe fgrep jẹ deede si ọra -F. Iyẹn ni pe, ninu ọran ti o ni ifiyesi wa, yoo tun tumọ awọn apẹẹrẹ bi awọn ọrọ deede.

O le wa laini tabi ọrọ ninu ọkan tabi diẹ sii awọn faili, bi o ṣe jẹ ọran pẹlu grep. Fun apẹẹrẹ, ṣebi o fẹ lati wa ọrọ ubuntu ninu faili kan ti a pe ni snap.txt ati tun ni gbogbo awọn faili .txt ninu itọsọna lọwọlọwọ:

egrep ubuntu snap.txt

egrep ubuntu *.txt

Wiwa tun le jẹ recursive Lati wa gbogbo awọn akoonu ti itọsọna lọwọlọwọ:

egrep -r "hola mundo" *

Nitorinaa, awọn ọrọ gangan tabi awọn gbolohun ọrọ ni a wa, iyẹn ni pe, ṣe akiyesi ọrọ nla ati kekere (ifura ọran), ṣugbọn ti o ba fẹ ṣe ni ipo aibikita ọran, laibikita ti wọn ba jẹ oke nla tabi kekere, o le lo atẹle naa (ti o ba ṣafikun w o rii awọn ere-kere pipe nikan):

egrep -i "ejemplo" documento.txt

egrep -iw "ejemplo" documento.txt

Ṣe afihan, kii ṣe awọn airotẹlẹ, ṣugbọn awọn orukọ faili nibiti a ti rii awọn ere-kere wọnyẹn:

egrep -l hola *.txt

Ṣe afihan apẹẹrẹ tabi ọrọ nikan wa laarin iwe-ipamọ kan:

egrep -o printf hola.c

Ranti pe o le lo gbogbo awọn aye ti o le fojuinu. O le ṣapọpọ ọpọlọpọ awọn aṣayan ti a ti rii tẹlẹ, tabi o le ṣe iranlowo wọn pẹlu awọn aṣayan miiran gẹgẹbi -A n ati -B n, nibiti n nọmba awọn ila ti o fẹ fihan ṣaaju (Ṣaaju) ati lẹhin (Lẹhin) ti ere idaraya tabi awọn mejeeji ni akoko kanna (C), ki o le rii ohun ti o yika ere-idije naa:

egrep -A 2 "printf" hola.c

egrep -B 2 "printf" hola.c

egrep -C 2 printf hola.c

Mu awọn ila ti o ni ibaramu pọ ati fi awọn ti ko baamu han nikan:

egrep -v "dos" números.doc

Tabi ti o ba fẹ, o le lo awọn ọrọ pupọ tabi awọn ere-kere pẹlu -e. Fun apẹẹrẹ:

egrep -v -e "uno" -e "dos" -e "tres" números.txt

Ti o ba lo -c le ka iye nọmba awọn ere-kere nikan, tabi yi pada pẹlu -v lati fihan nọmba awọn ila ti ko tọ. Fun apere:

egrep -c "include" main.c

egrep -v -c "include" main.c

Ati paapaa nọmba ila afihan ibiti ibaramu ti waye, ati ipo ti o wa ni atẹle:

egrep -n "void" hola.c

egrep -o -b "printf" hola.c

Ati pẹlu awọn awọn ifihan deede awọn agbara rẹ le faagun. Fun apẹẹrẹ, wa laini ti o bẹrẹ pẹlu Pẹlẹ o pari pẹlu bye, tabi ti o bẹrẹ pẹlu Hello ti o tẹle pẹlu ohunkohun ti lẹhinna bye ibaamu han ni atẹle:

* Atunse ti aṣẹ atẹle: o ṣeun si asọye ti olukawe Manuel Alcocer Mo ti ni anfani lati yipada aṣẹ atẹle, nitori aṣiṣe kan wa.

egrep '^Hola.*adiós$' ejemplo.txt

egrep "Hola.*adiós" ejemplo.txt

Ṣugbọn ti o ba ni iyalẹnu nipa iyatọ pẹlu ọra, nibi ni apẹẹrẹ ti yoo jẹ ki o ye ọ ... Ninu ọran ti lilo ọra laisi -E o yẹ ki o lo sa lesese nitorinaa o ṣe tumọ awọn kikọ pataki bi iru bẹẹ, bibẹkọ ti yoo tumọ itumọ bii bii laisi mu wọn sinu akọọlẹ. Ni apa keji, pẹlu egrep tabi grep -E yoo gba wọn sinu akọọlẹ. Fun apere:
grep '^no\(fork\|group\)' /etc/group

Iyẹn yoo jẹ deede si:

grep -E '^no(fork|group)' /etc/group
egrep '^no(fork|group)' /etc/group

Iyẹn ni pe, yoo wa fun awọn ila ti o baamu ti o bẹrẹ pẹlu nofork tabi nogroup. Ṣugbọn ti o ba lo iṣafihan akọkọ grep laisi awọn ọna abayo, ohun ti yoo ṣe ni wiwa apẹẹrẹ nja Rara (orita | ẹgbẹ):

grep 'no(fork|group)' /etc/group

O tun le wa awọn sakani alphanumeric, tabi awọn iye kan pato, gẹgẹbi lati wa awọn IP kan:
cat /etc/networks | egrep "192.168.1.[5-9]"
cat /etc/networks | egrep "192.168.[1-3].[5-9]"
cat /etc/networks | egrep "192.168.1.[0-3]|[5-9]"
egrep 192.168.4.[10,40] networks

Ti o ba fẹ, o le lo awọn ọrọ deede miiran lati ṣe awọn wiwa kan pato diẹ sii. Fun apẹẹrẹ | lati wa ọkan lasan tabi ekeji:

egrep -i '^(printf|scanf)' hola.c

O le paapaa wa oke nla, kekere, awon ohun kikọ abidi nikan, tabi alphanumeric, abbl., lilo awọn ọrọ miiran bii: [: alnum:], [: alpha:], [: digit:], [: isalẹ:], [: print:], [: punct:], [: aaye:], [ : oke:], ati be be lo. Fun apẹẹrẹ, lati wa oke nla:
egrep [[:upper:]] diccioario

Mo nireti pe o ṣe iranlọwọ fun ọ ... Laipẹ Emi yoo ṣe alaye awọn ifihan deede ninu nkan ti a ṣe igbẹhin pataki si rẹ ...


Awọn akoonu ti nkan naa faramọ awọn ilana wa ti awọn ilana olootu. Lati jabo aṣiṣe kan tẹ nibi.

Awọn asọye 5, fi tirẹ silẹ

Fi ọrọ rẹ silẹ

Adirẹsi imeeli rẹ yoo ko le ṣe atejade. O beere aaye ti wa ni samisi pẹlu *

*

*

  1. Lodidi fun data naa: Miguel Ángel Gatón
  2. Idi ti data naa: SPAM Iṣakoso, iṣakoso ọrọ asọye.
  3. Ofin: Iyọọda rẹ
  4. Ibaraẹnisọrọ data: Awọn data kii yoo ni ifọrọhan si awọn ẹgbẹ kẹta ayafi nipasẹ ọranyan ofin.
  5. Ibi ipamọ data: Alaye data ti o gbalejo nipasẹ Awọn nẹtiwọọki Occentus (EU)
  6. Awọn ẹtọ: Ni eyikeyi akoko o le ni opin, gba pada ki o paarẹ alaye rẹ.

  1.   Manuel Alcocer ibi ipamọ olugbe wi

    O dara ọjọ

    Awọn akiyesi diẹ ...

    O ṣe alaye aṣẹ 'egrep' ṣugbọn maṣe fi iyatọ laarin 'egrep' ati 'grep', eyiti o yẹ ki o jẹ ohun ti o wa nibi.

    Fun lilo:
    Pẹlu grep: ip -4 a | kí '[0-9] \ +'
    Pẹlu egrep: ip -4 a | egrep '[0-9] +'

    Ahh, eyi si jẹ aṣiṣe, 'egrep "Hello. * Bye" example.txt'; aṣeyọri nibi waye nigbati laini kan wa ninu faili ti o ni okun ‘Hello’ ti o tẹle pẹlu ohunkohun ti o tẹle pẹlu ‘o dabọ’, laini naa le bẹrẹ ati pari pẹlu ohunkohun.

    Eyi yoo jẹ ohun ti nkan sọ:
    egrep '^ Kaabo. * bye $' example.txt

    Ati pe gbogbo awọn aṣayan, tabi o fẹrẹ to gbogbo (Emi ko da duro lati ṣayẹwo rẹ), jẹ awọn aṣayan ti ‘grep’ kii ṣe ti ‘egrep’ iyasọtọ.

    Oye ti o dara julọ

    1.    Isaac wi

      O ṣeun fun ijabọ aṣiṣe yẹn. Kini o ṣe asọye lori awọn ikede deede, Mo ti fi sii tẹlẹ ninu paragirafi keji. Emi yoo ya nkan kan pato fun wọn, nitori ọpọlọpọ wa ati pe nkan yii yoo gba gun ju. Ikini kan!

      1.    Manuel Alcocer ibi ipamọ olugbe wi

        Kaabo lẹẹkansi, Isaac.

        Ninu paragirafi keji o sọ ni pataki, tabi o yẹ ki o ti sọ, pe 'egrep' jẹ inagijẹ ti 'grep -E', ṣugbọn o ko fun apẹẹrẹ eyikeyi nipa lilo 'egrep' pẹlu diẹ ninu ikosile deede ti a kọ ni oriṣiriṣi ju igba lo nipasẹ 'grep'.

        Ṣiṣafihan nkan kan lati ṣalaye awọn ọrọ igbagbogbo ti o gbooro dabi igboya fun mi, laarin awọn ohun miiran nitori awọn aaye wa bii eleyi ti ko ṣe ikede ati pe wọn n ṣe iṣẹ alaye pataki pupọ fun agbegbe GNU: https://www.rexegg.com/

        Emi ko kọwe nibi fun lilọ kiri, ipinnu mi pẹlu gbogbo eyi ni pe ti ẹnikan ba ka titẹsi yii lati wo kini 'egrep' tabi 'grep' ṣe, jọwọ wo awọn orisun miiran, titẹsi yii ko le jẹ itọkasi ohunkohun, o ṣalaye diẹ, daradara, nfunni ni alaye ti ko ni agbara ati o le jẹ iruju, paapaa fun awọn ti ko ni imọ nipa GNU ati awọn irinṣẹ alagbara ti o nfun.

        Lakotan, o ti ṣafikun ati ṣatunṣe kokoro ti Mo tọka lẹhin asọye akọkọ mi (^ $). Gẹgẹbi ni awọn aaye miiran, o yẹ ki o tọka si eniyan ti o ṣe atunṣe, tabi o kere ju sọ pe o jẹ atunṣe, ti o jẹ apakan ti ipilẹ GNU, ipilẹ kanna pẹlu eyiti bulọọgi rẹ ti bẹrẹ ati ti sọnu.

        A ikini.

        1.    Isaac wi

          O ṣeun fun oju-iwoye rẹ.

  2.   awọn fsafs wi

    ffsaf