Linux reguláris kifejezések oktatóanyaga: Grep Regex példa

Mik azok a Linux reguláris kifejezések?

Linux reguláris kifejezések olyan speciális karakterek, amelyek segítik az adatok keresését és az összetett minták egyeztetését. A reguláris kifejezések rövidítése 'regexp' vagy 'regex'. Számos Linux-programban használják, például grep, bash, átnevezés, sed stb.

A reguláris kifejezések típusai

A könnyebb érthetőség érdekében egyenként tanuljuk meg a Regex különböző típusait.

Kattints itt ha a videó nem érhető el

Alapvető reguláris kifejezések

A reguláris kifejezésekkel gyakran használt parancsok közül néhány a tr, sed, vi és grep. Az alábbiakban felsorolunk néhány alapvető Regex-et.

Szimbólum Descriptionok
. bármely karaktert helyettesít
^ egyezések a karakterlánc eleje
$ egyezik a karakterlánc végével
* nulla vagy többszöröse megegyezik az előző karakterrel
\ Speciális karaktereket ábrázol
() Csoportosítja a reguláris kifejezéseket
? Pontosan egy karakternek felel meg

Lássunk egy példát.

A macskaminta végrehajtása egy meglévő fájl tartalmának megtekintéséhez

Alapvető reguláris kifejezések

'a' betűt tartalmazó tartalom keresése.

Alapvető reguláris kifejezések

"^' egy karakterlánc elejére egyezik. Keressünk olyan tartalmat, amely a-val KEZDŐDIK

Alapvető reguláris kifejezések

Csak a karakterrel kezdődő sorok szűrhetők. Azokat a sorokat, amelyek nem tartalmazzák az „a” karaktert, figyelmen kívül hagyjuk.

Nézzünk egy másik példát –

Alapvető reguláris kifejezések

Csak azokat a sorokat válassza ki, amelyek t segítségével végződnek $

Alapvető reguláris kifejezések

Intervallum Reguláris kifejezések

Ezek a kifejezések megmondják, hogy egy karakter hányszor fordul elő egy karakterláncban. Ők

Kifejezés Leírás
{nem} Pontosan megegyezik az 'n'-szer megjelenő előző karakterrel
{n, m} Megfelel a megelőző karakternek, amely „n”-szer jelenik meg, de legfeljebb m
{n, } Csak akkor felel meg az előző karakternek, ha „n”-szer vagy többször megjelenik

Példa:

Szűrje ki az összes olyan sort, amely "p" karaktert tartalmaz

Intervallum Reguláris kifejezések

Azt akarjuk ellenőrizni, hogy a 'p' karakter pontosan 2-szer szerepel-e egy karakterláncban egymás után. Ehhez a szintaxis a következő lenne:

cat sample | grep -E p\{2}

Intervallum Reguláris kifejezések

Megjegyzés: Ezekkel a reguláris kifejezésekkel -E-t kell hozzáadnia.

Kibővített reguláris kifejezések

Ezek a reguláris kifejezések egynél több kifejezés kombinációit tartalmazzák. Néhány közülük:

Kifejezés Leírás
\+ Megfelel az előző karakter egy vagy több előfordulásának
\? Az előző karakter nullával vagy egy előfordulásával egyezik

Példa:

Az összes "t" karakter keresése

Kibővített reguláris kifejezések

Tegyük fel, hogy ki akarjuk szűrni azokat a sorokat, ahol az "a" karakter megelőzi a "t" karaktert

Használhatunk hasonló parancsokat

cat sample|grep "a\+t"

Kibővített reguláris kifejezések

Merevítő bővítése

A kapcsos zárójelek kibontásának szintaxisa egy sorozat vagy egy vesszővel elválasztott lista a kapcsos zárójelben található „{}”-ban. A sorozat kezdő és záró elemeit két „...” pont választja el.

Néhány példa:

Merevítő bővítése

A fenti példákban az echo parancs karakterláncokat hoz létre a kapcsos zárójel-kiterjesztés segítségével.

Összefoglaló:

  • A reguláris kifejezések a karakterláncok mintáinak ellenőrzésére használt karakterkészletek
  • „regexp”-nek és „regex”-nek is nevezik őket
  • A szkriptek írásához fontos a reguláris kifejezések megtanulása
  • Néhány alapvető reguláris kifejezés:
Szimbólum Descriptionok
. bármely karaktert helyettesít
^ egyezések a karakterlánc eleje
$ egyezik a karakterlánc végével
  • Néhány kiterjesztett reguláris kifejezés:
Kifejezés Leírás

\+

Megfelel az előző karakter egy vagy több előfordulásának
\? Az előző karakter nullával vagy egy előfordulásával egyezik
  • Néhány intervallum reguláris kifejezés:
Kifejezés Leírás
{nem} Pontosan megegyezik az 'n'-szer megjelenő előző karakterrel
{n, m} Megfelel a megelőző karakternek, amely „n”-szer jelenik meg, de legfeljebb m
{n, } Csak akkor felel meg az előző karakternek, ha „n”-szer vagy többször megjelenik
  • A kapcsos zárójel kiterjesztése karakterláncok generálására szolgál. Segít több karakterlánc létrehozásában egyből.