Linux rendszeres kifejezés bemutató: Grep Regex példa

Tartalomjegyzék:

Anonim

Mik azok a Linux rendszeres kifejezések?

A Linux rendszeres kifejezések speciális karakterek, amelyek segítenek az adatok keresésében és az összetett minták összeillesztésében. A reguláris kifejezéseket „regexp” vagy „regex” rövidítéssel látjuk el. Számos Linux programban használják, például grep, bash, átnevezés, sed stb.

A reguláris kifejezések típusai

Az érthetőség megkönnyítése érdekében tanuljuk meg egyesével a különböző Regex típusokat.

  • Alapvető reguláris kifejezések
  • Intervallum Reguláris kifejezések
  • Kiterjesztett reguláris kifejezések
  • Összegzés

Kattintson ide, ha a videó nem érhető el

Alapvető reguláris kifejezések

A szokásos kifejezéseket használó parancsok közül néhány a tr, sed, vi és grep. Az alábbiakban felsoroljuk az alapvető Regex néhányat.

Szimbólum Leírások
. bármely karaktert felvált
a karakterlánc kezdete
$ egyezik a húr végével
* egyezik az előző karakter nulla vagy többszörösével
\ Speciális karakterek ábrázolása
() Csoportosítja a reguláris kifejezéseket
? Pontosan egy karaktert illeszt össze

Lássunk egy példát.

A létező fájl tartalmának megtekintéséhez hajtsa végre a macskamintát

"A" betűt tartalmazó tartalom keresése.

A ' ^ ' egy karakterlánc elejére illeszkedik. Keressünk olyan tartalmat, amely a

Csak a karakterrel kezdődő sorok lesznek szűrve. Azokat a vonalakat, amelyek nem tartalmazzák az elején az „a” karaktert, figyelmen kívül hagyják.

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

Csak azokat a sorokat jelölje ki, amelyek t-vel végződnek a $ használatával

Intervallum Reguláris kifejezések

Ezek a kifejezések a karakter egy karakterláncban való előfordulásának számáról árulkodnak. Ők

Kifejezés Leírás
{n}

Pontosan illeszkedik a megelőző 'n' -szer megjelenő karakterhez

{n, m} Megfelel az előző karakternek, amely 'n' alkalommal jelenik meg, de legfeljebb m
{n,} Csak akkor illeszkedik az előző karakterhez, ha 'n' vagy többször jelenik meg

Példa:

Szűrje ki az összes sort, amely „p” karaktert tartalmaz

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

cat sample | grep -E p\{2}

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

Kiterjesztett reguláris kifejezések

Ezek a reguláris kifejezések egynél több kifejezés kombinációját 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

\?

Nulla vagy az előző karakter egy előfordulása

Példa:

Az összes karakter keresése 't'

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

Használhatjuk a like parancsot

cat sample|grep "a\+t"

Brace bővítés

A zárójel kiterjesztésének szintaxisa vagy a szekvencia, vagy vesszővel elválasztott elemek listája a göndör zárójelű zárójelben "{}". A sorozat kezdő és befejező elemeit két "..." pont választja el.

Néhány példa:

A fenti példákban az echo parancs húrokat hoz létre a zárójel kiterjesztésével.

Összegzés:

  • A reguláris kifejezések a karakterláncok mintáinak ellenőrzésére használt karakterkészletek
  • Regexpnek és regexnek is nevezik őket
  • Fontos megtanulni a szkriptek írásához szükséges reguláris kifejezéseket
  • Néhány alapvető reguláris kifejezés a következő:
Szimbólum Leírások
. bármely karaktert felvált
a karakterlánc kezdete
$ egyezik a húr 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
\? Nulla vagy az előző karakter egy előfordulása
  • Néhány intervallum reguláris kifejezés:
Kifejezés Leírás
{n} Pontosan illeszkedik a megelőző 'n' -szer megjelenő karakterhez
{n, m} Megfelel az előző karakternek, amely 'n' alkalommal jelenik meg, de legfeljebb m
{n,} Csak akkor illeszkedik az előző karakterhez, ha 'n' vagy többször jelenik meg
  • A zárójel kiterjesztését húrok létrehozására használják. Segít több húr létrehozásában egyből.