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.