grep

Grep több mintához vagy húrhoz

Grep több mintához vagy húrhoz
A Global Regular Expression Print vagy a Grep egy hatékony segédprogram, amelyet Linux operációs rendszerben használnak. A grep segítségével korlátozások alkalmazásával különböző mintákkal vagy karakterláncokkal rendelkező fájlokból kereshet. A Grep funkció egy vagy több bemeneti fájlt keres a könyvtárakban vagy alkönyvtárakban történő kereséshez. Számos minta kereséséhez használjuk az OR operátort. Ez az operátor a parancsban írt minták elválasztására szolgál. „|” Módosító operátor a hátsó perjel mellett használatos. A különböző reguláris kifejezések keresésének szintaxisa a következő:

Szintaxis

$ grep 'pattern1 \ | pattern2' fájlnév

A reguláris kifejezést mindig egyetlen idézetben írják. Két nevet elválasztunk a fordított perjel és a változtatás operátorral. A parancs a fájlnévvel fejeződik be. A grep rekurzív műveletek során egyetlen fájlnév helyett könyvtárat vagy teljes elérési utat használunk.

Előfeltétel

Ebben a cikkben megtanuljuk a grep funkcióját több minta és karakterlánc keresésében. Ehhez a virtuális dobozon futnia kell Linux operációs rendszernek. Telepítenie kell a rendszerére. A konfigurálás után hozzáférhet az összes alkalmazáshoz. Miután jelszó megadásával bejelentkezett a felhasználóhoz, folytassa a terminálhéj parancssorával.

Keresés több mintával egy fájlban a Grep használatával

Ha egy adott fájlban több mintát vagy karakterláncot akarunk keresni, akkor a grep funkcióval válasszon egy fájlt a parancsban egynél több beviteli szó segítségével. A '\ |' szót használjuk operátorok két minta szétválasztására egy parancsban.

$ grep 'technikai \ | job' fájl.txt

A parancs a grep működését jelképezi. Mindkét említett fájlt a fájlban fogják keresni.txt. A keresett szavak kiemelésre kerülnek a kimenet teljes szövegében.

Kétnél több szó kereséséhez továbbra is ugyanazzal a módszerrel adjuk hozzá őket.

$ grep 'graphic \ | photoshop \ | plakátok' fileb.txt

Keressen több karakterláncot az ügy figyelmen kívül hagyásával

A Linux grep függvényében az esetérzékenység fogalmának megértéséhez vegye figyelembe a következő példát. Két parancs működik a grep-en. Az egyik '-i' -vel van, a másik pedig anélkül. Ez a példa bemutatja a parancsok közötti különbségeket. Az első azt mutatja, hogy két szó keresésre kerül egy adott fájlban. Amint azonban az „Aqsa” parancs jelzi, A betűvel kezdődik. Így nem lesz kiemelve, mert egy adott fájlban ez a szöveg kisbetűvel van.

$ grep 'Aqsa \ | testvér' fájl20.txt

Csak a testvér szót veszi figyelembe, amely a kimeneten látható lesz.

A második példában figyelmen kívül hagytuk a kis- és nagybetűk érzékenységét az „-I” jelző használatával. Ez a funkció mindkét szóban keresni fog, és a kimenet kiemelésre kerül. Függetlenül attól, hogy az „Aqsa” szót nagybetűvel írják-e vagy sem, a grep ugyanazt az egyezést keresi a fájlban lévő szövegben. Tehát mindkét parancs hasznos a maga módján.

$ grep -I 'Aqsa \ | testvér' fájl20.txt

Több egyezés számlálása egy fájlban

A Count funkció segít megszámolni egy szó vagy szavak előfordulását egy adott fájlban. Például, ha szeretne tudni a rendszerben előforduló hibákról. A részleteket a naplófájl rögzíti. Ahhoz, hogy ezeket az információkat egy adott mappában tárolja, meg kell írnia a mappák útvonalát. Ez a példa azt mutatja, hogy a naplófájlokban 71 hiba történt.

Pontos egyezések keresése egy fájlban

Ha pontos egyezést szeretne találni a rendszere fájljaiban, akkor a pontos rendezéshez a „-w” jelzőt kell használnia. Idéztünk egy egyszerű és átfogó példát. Az alábbi példában vegye fontolóra a „-w” nélküli keresést, ez a parancs mindkét szót úgy hozza meg, hogy azok megfeleljenek az adott bemenetnek. De a „-w” jelző használatával a keresés korlátozott lesz, mivel a beviteli szavak csak az első karakterlánccal egyeznek. A második szó nincs kiemelve, mert a „-w” lehetővé teszi a mintához való pontos illesztést.

$ -iw 'hamna \ | house' fájl21.txt

Itt -I is használom a kis- és nagybetűk érzékenységének eltávolítására a szöveg keresésekor.

Amint a fotón látható, az eredmények nem ugyanazok. Az első parancs az összes kapcsolódó adatot egész karakterláncokkal hozza, míg a második parancs megmutatja, hogy a pontos adatok egyeznek-e a grep-en keresztül több karakterlánc keresésekor.

Grep egynél több mintához egy adott fájlkiterjesztés típusban

A keresés az összes fájlon belül történik. Önön múlik, ha fájlnév megadásával keres. Csak bizonyos fájlokban fog keresni. De egy fájlkiterjesztés biztosításával az adatok ugyanannak a kiterjesztésnek az összes fájlján keresnek. Kétféle példa van a kapcsolódó eredmény ábrázolására. Az első példát figyelembe véve a hibafájlok az összes fájlba beleszámítanak .napló kiterjesztés. A „-c” a számláláshoz használható.

$ grep -c 'figyelmeztetés \ | hiba' / var / log / *.napló

Ez a parancs azt jelenti, hogy a fájlokat a .napló kiterjesztés. A mérkőzések száma megjelenik a kimenetben, hogy jobban megmutassa a grep-et az adott fájlkiterjesztéssel.

A második példában két szót használtunk a Linux fájljaiban a szöveg kiterjesztésével. Minden adat számok formájában jelenik meg. A 0 azt jelzi, hogy nincs egyező adat, míg a 0-n kívül egyezés létezik.

$ grep -c 'aqsa \ | my' / home / aqsayasin / *.txt

Több minta rekurzív keresése fájlban

Alapértelmezés szerint az aktuális könyvtárat használják, ha a parancsban nincs megemlítve könyvtár. Ha a saját maga által kiválasztott könyvtárban szeretne keresni, akkor meg kell említenie. A „-r” operátor a grep rekurzív használatára szolgál.A / home / aqsayasin / a fájlok elérési útját mutatja, míg a *.A txt a kiterjesztést mutatja. Szöveges fájlok lesznek a grep célpontjai a rekurzív keresésre.

$ grep -R 'műszaki \ | szabad' / home / aqsayasin / *.txt

A kívánt kimenetet kiemeli az eredmény, amely e szavak létezését mutatja.

Következtetés

A fent említett cikkben különféle példákat idéztünk annak érdekében, hogy a felhasználó könnyebben megértse a parancsok működését, ha több mintát keres Linux alatt. Ez az útmutató segít meglévő ismereteinek bővítésében.

Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...
A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...
Vulkan Linux felhasználók számára
A grafikus kártyák minden új generációjával azt látjuk, hogy a játékfejlesztők átlépik a grafikus hűség határait, és egy lépéssel közelebb kerülnek a ...