grep

Grep parancs Linux alatt

Grep parancs Linux alatt
A Grep (globális reguláris kifejezés nyomtatása) parancs a legerősebb és rendszeresen használt Linux parancssori segédprogram. A Grep használatával hasznos információkat kereshet a keresési feltételek megadásával. Meghatározott fájlban keres egy adott kifejezésmintát. Ha talál egyezést, kinyomtatja a fájl összes sorát, amely megfelelt a megadott mintának. Jól jön, ha nagy naplófájlok között kell szűrni.

Ebben a cikkben különböző példákkal magyarázzuk a grep segédprogram használatát. A Debian 10-et fogjuk használni a cikkben említett parancsok és módszerek magyarázatához.

A Grep telepítése

A Grep a legtöbb Linux disztribúcióra telepítve van. Ha azonban hiányzik a rendszeréből, akkor a következő módszerrel telepítheti a Terminálban:

$ sudo apt-get install grep

A Grep használatával

Itt található a grep parancs alapvető szintaxisa. A grep-el kezdődik, majd néhány opció és keresési feltétel, majd a fájl nevével zárul.

$ grep [opciók] MINTA [FÁJL ...]

Fájlok keresése

Ha a fájlnévre keresni szeretne egy könyvtárban, amely tartalmaz egy adott karakterláncot, akkor a grep használatával a következőket teheti:

$ ls -l | grep -i “húr

Például olyan fájlnév keresésére, amely tartalmaz egy karakterláncot „teszt“, A parancs a következő lenne:

$ ls -l | grep -i teszt

Ez a parancs felsorolja az összes fájlt, amely tartalmazza a „teszt”.

Karaktersorozat keresése egy fájlban

Karaktersorozat kereséséhez egy adott fájlban a következő parancsszintaxist használhatja:

$ grep “string” fájlnév

Például egy karakterlánc kereséséretesztNevű fájlban tesztfájl1, a következő parancsot használtuk:

$ grep „alkalmazott” tesztfájl1

A fenti kimenet visszaadta a mondatot a tesztfájl1 amely tartalmazza a „munkavállaló”.

Karakterlánc keresése több fájlban

Karaktersorozat kereséséhez több fájlban a következő parancsszintaxist használhatja:

$ grep “string” fájlnév1 fájlnév2

Például egy „alkalmazott” karakterlánc keresésére a testfile1 és testfile2 fájlokban a következő parancsot használtuk:

$ grep „alkalmazott” tesztfájl1 tesztfájl2

A fenti parancs felsorolja az összes sort, amely tartalmazza az „alkalmazott” karakterláncot mind a testfile1, mind a testfile2 fájlból.

Helyettesítő karaktert is használhat, ha az összes fájlnév ugyanazzal a szöveggel kezdődik.

$ grep „string” fájlnév *

Például, ha a fenti példát vesszük, amelyben a fájlneveink voltak tesztfájl1 és tesztfájl2 , a parancs a következő lenne:

$ grep „alkalmazott” tesztfájl *

Karaktersorozat keresése a fájlban a karakter nagybetűinek figyelmen kívül hagyásával

Leggyakrabban akkor találkozott ezzel, amikor a grep használatával keres valamit, de nem kap kimenetet. Ez egy karakterlánc keresése során előforduló esetkülönbség miatt következik be. Mint a példánkban, ha tévesen használjuk aMunkavállaló" ahelyett "munkavállaló”, Akkor nullát ad vissza, mivel a fájlunk tartalmazza a„munkavállaló”Kisbetűvel.

A grep után az -i flag használatával utasíthatja a grepet, hogy hagyja figyelmen kívül a keresési karakterlánc esetét:

$ grep -i „string” fájlnév

Az -i zászló használatával a parancs végrehajtja a kis- és nagybetűk közötti keresést, és visszaadja az összes "munkavállaló”, Anélkül, hogy figyelembe vennénk a betűket nagy- vagy kisbetűvel.

Keresés a reguláris kifejezés használatával

Megfelelő használat esetén a reguláris kifejezés nagyon hatékony tulajdonság a grep-ben. A Grep paranccsal definiálhat egy reguláris kifejezést kezdő és befejező kulcsszóval. Ezzel nem kell begépelnie az egész sort a grep paranccsal. A következő szintaxis használható erre a célra.

$ grep “kezdő kulcsszó.* endKeyword ”fájlnév

Például a testfile1 nevű fájlban egy sor keresésére, amely az „this” karakterlánccal kezdődik és az „data” karakterlánccal végződik, a következő parancsot használtuk:

$ grep “ezt.* adatok ”tesztfájl1

Ez kinyomtatja a teljes sort a tesztfájl1 tartalmazza a kifejezést („this” kezdő kulcsszó és „data” végző kulcsszó).

Adjon meg egy sor sort a keresési karakterlánc után / előtt

Megjelenítheti a fájlban a sorok számát a karakterlánc egyezése előtt / után, valamint magát az illesztett karakterláncot is. A következő szintaxis használható erre a célra:

$ grep -A „String” fájlnév

N sorszám jelenik meg, miután a karakterlánc illeszkedik a megadott fájlba, beleértve az egyeztetett karakterláncot is.

Például ez a mintafájlunk tesztfájl2.

A következő parancs kiadja az illesztett sort, amely tartalmazza a "munkavállaló”, Az utána lévő 2 sorral együtt.

$ grep -A 2 -i „alkalmazott” tesztfájl2

Hasonlóképpen, az N számsor megjelenítéséhez az illesztett karakterlánc előtt egy adott fájlban használja a következő szintaxist:

$ grep -B „String” fájlnév

N sor sor megjelenítéséhez a karakterlánc körül egy adott fájlban használja a következő szintaxist:

$ grep -C „String” fájlnév

A keresés kiemelése

Greppelés alapértelmezés szerint az egyező vonalak nyomtatásával, de nem mutatja, hogy a vonal mely része illeszkedik. Ha a -color opciót használja a grep-kel, akkor az megmutatja, hogy a megmunkálási húrok hol jelennek meg a fájljában. Grep alapértelmezés szerint használja a piros színt a kiemeléshez.

A következő szintaxis használható erre a célra:

$ grep „string” fájlnév - szín

A mérkőzések számának megszámlálása

Ha meg szeretné számolni, hogy egy adott fájl hányszor jelenik meg egy adott fájlban, használhatja a grep -c opciót. Csak a mérkőzések számát adja vissza, nem pedig magát a mérkőzést. A következő szintaxis használható erre a célra:

$ grep -c „string” fájlnév

Ez a mintafájlunk így néz ki:

Az alábbiakban bemutatunk egy példát egy parancsra, amely visszaadta a szó szorzatát fájl nevű fájlban jelent meg tesztfájl3.

Fordított keresés

Néha fordított keresést szeretne végrehajtani, amely az összes sort megjeleníti, kivéve a bemenetnek megfelelő sort. Ehhez egyszerűen használja a -v jelzőt, majd a grep parancsot:

$ grep -v “string” fájlnév

Például az összes sor megjelenítéséhez egy fájlban tesztfájl3 amelyek nem tartalmazzák a „account” szót, a következő parancsot használtuk:

$ grep -v „account” tesztfájl3

A Grep használata más parancsokkal

A Grep segítségével a parancsok kimenetéből kiszűrhető a kívánt eredmény is. Például a „apt -installed list ” parancskimenetet, csak azokat a csomagokat szeretné megtalálni, amelyeket automatikusan telepített, az eredményt a grep segítségével kiszűrheti az alábbiak szerint:

$ apt - telepített lista | grep automata

Hasonlóképpen, az lscpu részletes információkat nyújt a CPU-ról. Ha csak a CPU architektúrájára vonatkozó információk érdeklik, akkor a következő paranccsal szűrheti ki:

$ lscpu | grep építészet

Ebben a cikkben néhány példát ismertettünk, amelyek segítenek megérteni a grep parancsokat és azok használatát különböző körülmények között. Ha erősen megfogja a grep parancsot, akkor sok időt takaríthat meg, ha nagy konfigurációs vagy naplófájlokat kell megnéznie, és ezeken keresztül hasznos információkat kell átkutatnia.

Hogyan lehet játékot fejleszteni Linuxon
Egy évtizeddel ezelőtt nem sok Linux-felhasználó jósolta, hogy kedvenc operációs rendszerük egy napon a videojátékok népszerű játékplatformja lesz. El...
Kereskedelmi játékmotorok nyílt forráskódú portjai
Ingyenes, nyílt forráskódú és platformokon átívelő játékmotorok szabadidős programjai felhasználhatók a régi, valamint a meglehetősen friss játékcímek...
A legjobb parancssori játékok Linuxhoz
A parancssor nem csak a legnagyobb szövetséges a Linux használatakor, hanem a szórakozás forrása is lehet, mert sok olyan szórakoztató játék lejátszás...