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
Sรธk etter innhold som inneholder bokstaven 'a'.
'^' samsvarer med starten pรฅ en streng. La oss sรธke etter innhold som STARTER med en
Bare linjer som starter med tegn blir filtrert. Linjer som ikke inneholder tegnet 'a' i starten ignoreres.
La oss se pรฅ et annet eksempel โ
Velg bare de linjene som slutter med t ved hjelp av $
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'
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}
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'
Anta at vi vil filtrere ut linjer der tegnet 'a' kommer foran tegnet 't'
Vi kan bruke kommando som
cat sample|grep "a\+t"
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:
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.










