Ahogy a grep neve is sugallja, a keresendő mintát szabályos kifejezéssel írják le. A reguláris kifejezés egy speciális karakterlánc-típus, amely leír egy mintát az illesztéshez, megkereséshez és kezeléshez. Ha többet szeretne megtudni a grep-ről és a reguláris kifejezésről, nézze meg a grep és az egrep használatát a reguláris kifejezéssel.
Bemutató célból ragadjon meg egy szövegfájlt. Ebben a példában töltse le a GNU General Public License v3 verziót.0 szöveges fájl.
Alapvető keresés
A grep használatának alapvető módja egy alap karakterlánc keresése.
Vessen egy pillantást a következő grep parancsra. Megkeresi a „GNU” szót a szövegfájlban.
$ grep "GNU" gpl-3.0.txt
A sorszám megjelenítéséhez használja a „-n” jelzőt.
$ grep -n „GNU” gpl-3.0.txt
A kis- és nagybetűk közötti kereséshez a grep használatával használja az „-i” jelzőt.
$ grep -ni „gnu” gpl-3.0.txt
Előfordulhat, hogy nem szeretné látni a keresési egyezéseket, csak bizonyos fájlokban csak azt a fájlnevet szeretné látni, ahol az egyezés történt. Csak a fájlnév kinyomtatásához használja a „-l” jelzőt. Itt a csillag az aktuális könyvtár összes szövegfájljának használatát jelöli.
$ grep -l “gnu” *
Más parancsok kimenetét is továbbíthatjuk a grep-hez.
$ cat gpl-3.0.txt | grep -n „GNU”
Reguláris kifejezés
A Regex a keresés finomhangolásának intelligens módját kínálja. Saját szabályai vannak. A különböző alkalmazások és programozási nyelvek azonban másképp valósítják meg a reguláris kifejezést. Íme néhány példa, amelyeket a grep segítségével használhat.
Annak meghatározásához, hogy a karakterlánc megtalálható-e a sor elején, használja a caret (^) szimbólumot.
$ grep -n “^ GNU” gpl-3.0.txt
Annak meghatározásához, hogy a karakterlánc a sor végén található-e, használja a dollárjelet ($).
$ grep -n „to $” gpl-3.0.txt
Annak leírásához, hogy a minta egy bizonyos helyén bármilyen karakter lehet, használja a periódus karaktert (.). Például a „G.U ”akkor érvényes, ha a„ G ”és az„ U ”között van karakter.
$ grep -n “G.U ”gpl-3.0.txt
Annak leírásához, hogy a minta egy adott részén lehetnek karakterek részhalmazai, használja a zárójeleket ([]). Például a „t [wo] o” kifejezés azt mondja, hogy az egyezés csak „kettőre” és „túl” érvényes.
$ grep -n “t [wo] o” gpl-3.0.txt
Kiterjesztett reguláris kifejezés
Ahogy a neve is sugallja, a kiterjesztett szabályos kifejezés összetettebb dolgokra képes, mint az alapvető reguláris kifejezések. A kiterjesztett reguláris kifejezés grep használatához az „-E” jelzőt kell használnia.
$ grep -nE Két különböző karakterlánc kereséséhez használja az OR operátorokat (|).
$ grep -nE „GNU | Általános | Licenc” gpl-3.0.txt
Szöveg keresése fájlokban
Most jön a fő rész. Ahelyett, hogy kézzel kéri a grep fájlt a keresés végrehajtására, a grep automatikusan megteheti. A következő parancsban a grep az aktuális könyvtár összes elérhető szövegfájlját felhasználja a minta keresésére.
$ grep * Ha meg akarja venni a keresést egy másik könyvtárban, akkor meg kell adnia a helyet.
$ grep
Ha vannak mappák, a grep alapértelmezés szerint nem kutatja őket. Használja a „-R” jelzőt a grep rekurzív keresésére.
$ grep -nR
Grep GUI
Ha inkább a GUI-val szeretne dolgozni, de mégis szeretné élvezni a grep funkcióit, akkor nézze meg a keresőmotort. Ez a grep front-end megoldása. A csomag szinte az összes fő Linux disztribúción elérhető.
Keressen szöveget fájlokban a nano használatával
A GNU Nano egy egyszerű és hatékony szövegszerkesztő, amely bármely Linux disztribúcióval együtt jár. Beépített szolgáltatásokkal rendelkezik a szöveg kereséséhez egy szöveges fájlban.
Vegye figyelembe, hogy ebben a módszerben meg kell nyitnia a szövegfájlt, és manuálisan kell keresnie. Kivitelezhető, ha csak egy maroknyi szöveges fájl használható. Ha ennél több van, akkor a grep használata a legoptimálisabb.
Nyissa meg a szövegfájlt nanóban.
$ nano
Karakterlánc-kereséshez nyomja meg a „Ctrl + W” billentyűt. Miután beírta a keresendő karakterláncot, nyomja meg az „Enter” gombot.
Keressen szöveget fájlokban a Vim használatával
A Vim jól ismert és jó hírű szövegszerkesztő. Ez egy modern szövegszerkesztő parancssori megfelelője. A Vim számos speciális funkcióval rendelkezik, mint például beépülő modulok, makrók, automatikus kiegészítés, szűrők stb.
A nano-hoz hasonlóan a Vim egyszerre egyetlen fájllal dolgozik. Ha több szövegfájlja van, akkor a grep használata a legoptimálisabb módszer.
Szöveges fájlban történő kereséshez először nyissa meg a Vim alkalmazásban.
$ vim
Írja be a következő Vim parancsot, és nyomja meg az „Enter” gombot.
$: /
Keressen szöveget fájlokban a GNOME Text Editor segítségével
A GNOME szövegszerkesztő az a szövegszerkesztő, amely a GNOME asztalhoz érkezik. Ez egy leegyszerűsített szövegszerkesztő, amely tartalmazza az elvárt összes alapvető funkciót. Ez egy jó alternatíva a parancssori szövegszerkesztőkkel szemben.
A nano-hoz és a vim-hez hasonlóan ugyanez az óvatosság vonatkozik erre a módszerre is. Ha a szöveges fájlok száma nagy, akkor inkább ragaszkodjon a grep-hez.
Nyissa meg a szövegfájlt a Szerkesztőben. A keresősáv megjelenítéséhez nyomja meg a „Ctrl + F” billentyűt.
Keressen szöveget fájlokban a VS Code segítségével
A Visual Studio Code egy hatalmas szövegszerkesztő, rengeteg funkcióval. A programozók számára úgy optimalizálták, hogy egy teljes IDE-ként használják. Szinte az összes nagyobb Linux disztribúción elérhető.
Telepítse a Visual Studio Code snap csomagot.
$ sudo snap telepítési kód - klasszikus
Nyissa meg a szövegfájlt a VS Code-ban. A keresés megkezdéséhez nyomja meg a „Ctrl + F” billentyűt.
Végső gondolatok
Számos módon lehet szöveget keresni fájlokban. Könnyű feladat elsajátítani. Erősen ajánlott elsajátítani a grep parancsot, mert a legtöbb értéket kínálja a hatékonyság és a könnyű használat szempontjából.
Ha a GUI-t részesíti előnyben, akkor számos szövegszerkesztő közül választhat. Bármely modern szövegszerkesztő biztosítja a szöveges keresési lehetőséget.
Boldog számítástechnika!