Umzekelo: imizekelo yomyalelo kwi-GNU / Linux

Umzekelo

ukubamba sesinye sezixhobo ezisetyenziswa kakhulu kwilayini yomyalelo we-GNU / Linux. Ngaphandle kokuba sisixhobo esilula kakhulu, ikuvumela ukuba wenze inani elikhulu lokusebenza. Isetyenziswa ngakumbi kunye nemibhobho, ukuze ikwazi ukufumana amanqaku athile kwimveliso yomyalelo wangaphambili, njl. Kodwa kukwakho nesixhobo esaziwa njenge-egrep esilingana nokuqhuba i-grep kunye -E ukhetho.

U-e uvela kwi "Regex eyandisiweyo", yiyo le nto evula -E ukhetho kunye nezinto onazo kwi-egrep ngokungagqibekanga ngaphandle kokusebenzisa olo khetho. Oko kukuthi, ungasebenzisa i- intetho eyandisiweyo. Kule tutorial andizukuya ekuchazeni ukuba zeziphi iinkcazo eziqhelekileyo, ukuba zinokusetyenziswa njani kwaye zeziphi iintlobo ezikwi-nix. Ndiza kubonisa nje imizekelo ebonakalayo yezinye izinto eziluncedo onokuzenza nge-egrep ...

grep, egrep, kunye fgrep ziyafana. Ngapha koko, i-egrep ilingana ne-grep -E kunye ne-fgrep ilingana ne-grep -F. Oko kukuthi, kwimeko esichaphazelayo, iyakutolika iipateni njengamabinzana aqhelekileyo.

Unako khangela umgca okanye igama kwifayile enye okanye nangaphezulu, njengoko kunjalo ngegrep. Umzekelo, masithi ufuna ukukhangela igama ubuntu kwifayile ebizwa ngokuba yi-snap.txt kunye nazo zonke iifayile ze-.txt kulawulo lwangoku:

egrep ubuntu snap.txt

egrep ubuntu *.txt

Ukukhangela kunokuba njalo ephindayo Ukukhangela konke okuqulathiweyo kulawulo lwangoku:

egrep -r "hola mundo" *

Ukuza kuthi ga ngoku, amagama afanelekileyo okanye imitya ikhangelwe, oko kukuthi, kuthathelwa ingqalelo imeko ephezulu kunye nezantsi (ethe-ethe), kodwa ukuba ufuna ukuyenza kwimeko yokungakhathali, akunamsebenzi nokuba ngaba bangoonobumba abakhulu okanye abancinci, ungasebenzisa oku kulandelayo (ukuba uyongeza w ifumana kuphela umdlalo opheleleyo):

egrep -i "ejemplo" documento.txt

egrep -iw "ejemplo" documento.txt

Ungabonisi into eyenzekileyo, kodwa amagama efayile apho loo midlalo yafunyanwa khona:

egrep -l hola *.txt

Bonisa kuphela ipateni okanye igama kukhangelwe ngaphakathi kuxwebhu:

egrep -o printf hola.c

Khumbula ukuba ungasebenzisa onke amathuba onokucinga ngawo. Ungadibanisa uninzi lwezikhetho ezibonwe ngaphambili, okanye ungazincedisa ngezinye iindlela ezinje nge -A n kunye -B n, apho n inani lemigca ofuna ukuyibonisa ngaphambili (Phambi) nasemva (Emva) yomdlalo okanye zombini ngaxeshanye (C), ukuze ubone ukuba yintoni ejikeleze umdlalo:

egrep -A 2 "printf" hola.c

egrep -B 2 "printf" hola.c

egrep -C 2 printf hola.c

Cinezela imigca equlathe umdlalo kwaye ubonise kuphela ezo ezingahambelaniyo:

egrep -v "dos" números.doc

Okanye ukuba ukhetha, ungasebenzisa amagama amaninzi okanye umdlalo kunye -e. Umzekelo:

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

Ukuba uyasebenzisa -c Inokubala kuphela inani lematshisi, okanye uyiguqule nge -v ukubonisa inani lemigca engalinganiyo. Umzekelo:

egrep -c "include" main.c

egrep -v -c "include" main.c

Kwaye nkqu bonisa inombolo yomgca apho umdlalo wenzeka khona, kunye nendawo ekubekwa kuyo ngokulandelelana:

egrep -n "void" hola.c

egrep -o -b "printf" hola.c

Kwaye kunye amabinzana aqhelekileyo amandla ayo anokwandiswa. Umzekelo, fumana umgca oqala ngo-Molo kwaye uphele ngo-bye, okanye oqala ngo-Molo olandelwe yiyo nantoni na emva koko umdlalo ubonakale ngokulandelelana:

* Ukulungiswa kwalo myalelo ulandelayo: enkosi kwingcaciso yomfundi uManuel Alcocer ndikwazile ukuguqula lo myalelo ulandelayo, kuba bekukho impazamo.

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

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

Kodwa ukuba uyazibuza ngumahluko nge-grep, nanku umzekelo oza kuyenza icace ... Kwimeko yokusebenzisa grep ngaphandle -E kuya kufuneka usebenzise ukulandelelana ngokulandelelana ukuze itolike oonobumba abakhethekileyo ngolu hlobo, kungenjalo iya kutolika ipatheni injalo ingakhange ithathele ingqalelo. Kwelinye icala, nge-egrep okanye i-grep -E iya kubathathela ingqalelo. Umzekelo:
grep '^no\(fork\|group\)' /etc/group

Oko kuya kulingana:

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

Oko kukuthi, kuya kujonga imigca ehambelana nayo eqala nge-nofork okanye kwiqela leqela. Kodwa ukuba usebenzise intetho yokuqala ye-grep ngaphandle kwendlela yokubaleka, into enokuyenza kukukhangela iphethini yekhonkrithi hayi (ifolokhwe | iqela):

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

Unokukhangela kwakhona Uluhlu lwealphanumeric, okanye amaxabiso athile, njengokufumana ii-IPs ezithile:
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

Ukuba ukhetha, ungasebenzisa amanye amabinzana aqhelekileyo ukwenza uphando oluthile. Umzekelo | ukufumana enye ngengozi okanye enye:

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

Unokufumana indawo oonobumba abakhulu, amagama asezantsi, oonobumba, okanye oonobumba, njl., usebenzisa amanye amabinzana anje nge: [: alnum:], [: alpha:], [: idijithi:], [: ezantsi:], [: shicilela:], [: isibhambathiso:], [: isithuba:], [: ephezulu:], njl. Umzekelo, ukukhangela oonobumba abakhulu:
egrep [[:upper:]] diccioario

Ndiyathemba ukuba iyakunceda ... Kungekudala ndiza kuchaza amabinzana aqhelekileyo kwinqaku elinikezelwe ngokukodwa ...


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.

  1.   UManuel Alcocer sitsho

    Mva

    Amagqabantshintshi ambalwa ...

    Uchaza umyalelo 'we-egrep' kodwa musa ukubeka umahluko phakathi kwe 'egrep' kunye 'grep', ekufuneka ibe yile ilapha.

    Umzekelo:
    Nge-grep: ip -4 a | grep '[0-9] \ +'
    Ngomzekelo: ip -4 a | Umzekelo '[0-9] +'

    Ahh, kwaye ayilunganga, 'egrep "Molo. * Bye" example.txt'; impumelelo apha yenzeka xa kukho umgca kwifayile equlathe umtya 'Molo' ulandelwe yiyo nayiphi na into ilandelwe ngu 'ndlela ntle', umgca ungaqala kwaye uphele ngayo nantoni na.

    Inokuba yile nto ithethwa leli nqaku:
    egrep '^ Molo. * bye $' umzekelo.txt

    Kwaye lonke ukhetho, okanye phantse zonke (andimisi ukujonga), lukhetho lwe 'grep' hayi i 'egrep' ngokukodwa.

    Ukugqithisa kakhulu

    1.    UIsake sitsho

      Enkosi ngokunika ingxelo yempazamo. Into oyithethayo kumabinzana aqhelekileyo, sendiyibekile kumqolo wesibini. Ndiza kunikezela inqaku elithile kubo, kuba baninzi kwaye eli nqaku liza kuthatha ixesha elide. Umbuliso!

      1.    UManuel Alcocer sitsho

        Molo kwakhona, Isaac.

        Kumhlathi wesibini utsho, okanye bekufanele ukuba uthe, 'egrep' ligama le 'grep -E', kodwa awuniki mzekelo wokusebenzisa 'egrep' ngentetho eqhelekileyo ebhalwe ngokwahlukileyo kunaleyo yayisetyenziswa ' grep '.

        Ukunikezela inqaku ukuchaza amabinzana aqhelekileyo kubonakala kunzima kum, phakathi kwezinye izinto kuba kukho iisayithi ezinje ezingabhengeziyo kwaye zenza umsebenzi wolwazi obaluleke kakhulu kuluntu lwe-GNU: https://www.rexegg.com/

        Andibhaleli apha ukunyathela, injongo yam ngayo yonke le nto kukuba ukuba umntu othile ufunda oku kungena ukuze abone ukuba yintoni 'egrep' okanye 'grep', nceda ujonge kweminye imithombo, olu ngeno alunakubhekisa kuyo nantoni na, ichaza kancinci, imbi , inikezela ngolwazi olungeyomfuneko kwaye inokudideka, ngakumbi kwabo bangenalwazi nge-GNU kunye nezixhobo ezinamandla ezinikezelayo.

        Okokugqibela, ungeze kwaye walungisa ibug endiyibonisileyo emva kwengcaciso yam yokuqala (^ $). Njengakwezinye iisayithi, bekufanele ukuba ukhankanye umntu owenze izilungiso, okanye ubuncinci uthi ulungiso olo, oluyinxalenye yesiseko se-GNU, isiseko esinye nale blog saqalwa ngaso ilahlekile.

        A ubingelele.

        1.    UIsake sitsho

          Enkosi ngombono wakho.

  2.   fsafs sitsho

    ffff