Linux Regular Expression Tutorial: Grep Regex Eksempel

Hva er regulรฆre Linux-uttrykk?

Linux regulรฆre uttrykk er spesialtegn som hjelper til med รฅ sรธke i data og matche komplekse mรธnstre. Regulรฆre uttrykk forkortes som 'regexp' eller 'regex'. De brukes i mange Linux-programmer som grep, bash, rename, sed, etc.

Typer regulรฆre uttrykk

For enkel forstรฅelse, la oss lรฆre de forskjellige typene Regex รฉn etter รฉn.

Klikk her. hvis videoen ikke er tilgjengelig

Grunnleggende regulรฆre uttrykk

Noen av de vanligste kommandoene med regulรฆre uttrykk er tr, sed, vi og grep. Nedenfor er noen av de grunnleggende Regex.

symbol Descriptioner
. erstatter alle tegn
^ matcher starten pรฅ strengen
$ samsvarer med slutten av strengen
* samsvarer med null eller flere ganger det foregรฅende tegnet
\ Representerer spesialtegn
() Grupperer regulรฆre uttrykk
? Matcher nรธyaktig ett tegn

La oss se et eksempel.

Kjรธr katteksempel for รฅ se innholdet i en eksisterende fil

Grunnleggende regulรฆre uttrykk

Sรธk etter innhold som inneholder bokstaven 'a'.

Grunnleggende regulรฆre uttrykk

'^' samsvarer med starten pรฅ en streng. La oss sรธke etter innhold som STARTER med en

Grunnleggende regulรฆre uttrykk

Bare linjer som starter med tegn blir filtrert. Linjer som ikke inneholder tegnet 'a' i starten ignoreres.

La oss se pรฅ et annet eksempel โ€“

Grunnleggende regulรฆre uttrykk

Velg bare de linjene som slutter med t ved hjelp av $

Grunnleggende regulรฆre uttrykk

Intervall Regulรฆre uttrykk

Disse uttrykkene forteller oss om antall forekomster av et tegn i en streng. Det er de

Uttrykk Tekniske beskrivelser
{N} Tilsvarer det foregรฅende tegnet som vises 'n' ganger nรธyaktig
{n,m} Matcher det foregรฅende tegnet som vises 'n' ganger, men ikke mer enn m
{n, } Matcher det foregรฅende tegnet bare nรฅr det vises 'n' ganger eller mer

Eksempel:

Filtrer ut alle linjer som inneholder tegnet 'p'

Intervall Regulรฆre uttrykk

Vi รธnsker รฅ sjekke at tegnet 'p' vises nรธyaktig 2 ganger i en streng etter hverandre. For dette vil syntaksen vรฆre:

cat sample | grep -E p\{2}

Intervall Regulรฆre uttrykk

Merk: Du mรฅ legge til -E med disse regulรฆre uttrykkene.

Utvidede regulรฆre uttrykk

Disse regulรฆre uttrykkene inneholder kombinasjoner av mer enn ett uttrykk. Noen av dem er:

Uttrykk Tekniske beskrivelser
\+ Tilsvarer รฉn eller flere forekomster av det forrige tegnet
\? Tilsvarer null eller รฉn forekomst av det forrige tegnet

Eksempel:

Sรธker etter alle tegn 't'

Utvidede regulรฆre uttrykk

Anta at vi vil filtrere ut linjer der tegnet 'a' kommer foran tegnet 't'

Vi kan bruke kommando som

cat sample|grep "a\+t"

Utvidede regulรฆre uttrykk

Utvidelse av bรธyle

Syntaksen for klammeparentesutvidelse er enten en sekvens eller en kommadelt liste over elementer innenfor krรธllete klammeparenteser "{}". Start- og sluttelementene i en sekvens er atskilt med to punktum "...".

Noen eksempler:

Utvidelse av bรธyle

I eksemplene ovenfor oppretter ekko-kommandoen strenger ved hjelp av klammerutvidelsen.

Sammendrag:

  • Regulรฆre uttrykk er et sett med tegn som brukes til รฅ sjekke mรธnstre i strenger
  • De kalles ogsรฅ 'regexp' og 'regex'
  • Det er viktig รฅ lรฆre faste uttrykk for รฅ skrive manus
  • Noen grunnleggende regulรฆre uttrykk er:
symbol Descriptioner
. erstatter alle tegn
^ matcher starten pรฅ strengen
$ samsvarer med slutten av strengen
  • Noen utvidede regulรฆre uttrykk er:
Uttrykk Tekniske beskrivelser

\+

Tilsvarer รฉn eller flere forekomster av det forrige tegnet
\? Tilsvarer null eller รฉn forekomst av det forrige tegnet
  • Noen regulรฆre intervalluttrykk er:
Uttrykk Tekniske beskrivelser
{N} Tilsvarer det foregรฅende tegnet som vises 'n' ganger nรธyaktig
{n,m} Matcher det foregรฅende tegnet som vises 'n' ganger, men ikke mer enn m
{n, } Matcher det foregรฅende tegnet bare nรฅr det vises 'n' ganger eller mer
  • Brace-utvidelsen brukes til รฅ generere strenger. Det hjelper med รฅ lage flere strenger av รฉn.

Oppsummer dette innlegget med: