Vadnica za regularni izraz Linuxa: primer Grep Regex

Kazalo:

Anonim

Kaj so regularni izrazi Linuxa?

Regularni izrazi za Linux so posebni znaki, ki pomagajo iskati podatke in ujemati zapletene vzorce. Regularni izrazi se skrajšajo kot 'regexp' ali 'regex'. Uporabljajo se v številnih programih Linuxa, kot so grep, bash, preimenovanje, sed itd.

Vrste regularnih izrazov

Za lažje razumevanje se naučimo različne vrste regularnih izrazov enega za drugim.

  • Osnovni regularni izrazi
  • Interval Regularni izrazi
  • Razširjeni regularni izrazi
  • Povzetek

Kliknite tukaj, če video ni dostopen

Osnovni regularni izrazi

Nekateri najpogosteje uporabljeni ukazi z regularnimi izrazi so tr, sed, vi in ​​grep. Spodaj so navedeni nekateri osnovni regularni izrazi.

Simbol Opisi
. zamenja kateri koli znak
se ujema z začetkom niza
$ se ujema s koncem niza
* se ujema z nič ali večkrat prejšnjim znakom
\ Predstavljajte posebne znake
() Združi regularne izraze
? Ujema se z natančno enim znakom

Poglejmo primer.

Izvedite vzorec mačke, da si ogledate vsebino obstoječe datoteke

Poiščite vsebino, ki vsebuje črko 'a'.

' ^ ' se ujema z začetkom niza. Poiščimo vsebino, ki se začne z

Filtrirajo se samo vrstice, ki se začnejo z znakom. Vrstice, ki na začetku ne vsebujejo znaka 'a', se prezrejo.

Poglejmo še en primer -

Z uporabo $ izberite samo tiste vrstice, ki se končajo s t

Interval Regularni izrazi

Ti izrazi nam govorijo o številu pojavitev znaka v nizu. So

Izraz Opis
{n}

Natančno se ujema s prejšnjim znakom, ki se prikaže 'n'-krat

{n, m} Ujema se s prejšnjim znakom, ki se pojavi 'n' krat, vendar ne več kot m
{n,} Ujema se s prejšnjim znakom le, če se pojavi 'n' krat ali več

Primer:

Filtrirajte vse vrstice, ki vsebujejo znak 'p'

Preveriti želimo, da se znak 'p' pojavi natančno dvakrat v nizu drug za drugim. Za to bi bila sintaksa:

cat sample | grep -E p\{2}

Opomba: S temi regularnimi izrazi morate dodati -E.

Razširjeni regularni izrazi

Ti regularni izrazi vsebujejo kombinacije več kot enega izraza. Nekateri med njimi so:

Izraz Opis

\ +

Ujema se z enim ali več pojavljanji prejšnjega znaka

\?

Ujema se z nič ali enim pojavom prejšnjega znaka

Primer:

Iskanje vseh znakov 't'

Recimo, da želimo filtrirati vrstice, kjer je znak 'a' pred znakom 't'

Lahko uporabimo ukaz like

cat sample|grep "a\+t"

Razširitev naramnic

Sintaksa razširitve oklepajev je bodisi zaporedje bodisi seznam elementov znotraj zavitih oklepajev "{}", ločenih z vejicami. Začetna in končna postavka v zaporedju sta ločeni z dvema pikama "...".

Nekaj ​​primerov:

V zgornjih primerih ukaz echo ustvari nize z razširitvijo oklepajev.

Povzetek:

  • Regularni izrazi so nabor znakov, ki se uporabljajo za preverjanje vzorcev v nizih
  • Imenujeta se tudi 'regularni izraz' in 'regularni izraz'
  • Pomembno je, da se naučite regularnih izrazov za pisanje scenarijev
  • Nekateri osnovni regularni izrazi so:
Simbol Opisi
. zamenja kateri koli znak
se ujema z začetkom niza
$ se ujema s koncem niza
  • Nekateri razširjeni regularni izrazi so:
Izraz Opis
\ + Ujema se z enim ali več pojavljanji prejšnjega znaka
\? Ujema se z nič ali enim pojavom prejšnjega znaka
  • Nekateri intervalni regularni izrazi so:
Izraz Opis
{n} Natančno se ujema s prejšnjim znakom, ki se prikaže 'n'-krat
{n, m} Ujema se s prejšnjim znakom, ki se pojavi 'n' krat, vendar ne več kot m
{n,} Ujema se s prejšnjim znakom le, če se pojavi 'n' krat ali več
  • Razširitev oklepaja se uporablja za ustvarjanje nizov. Pomaga pri ustvarjanju več nizov iz enega.