A rendszergazda számára gyakori jelenség a szöveges fájlokkal való munka. Lehet, hogy egy naplófájlok halmazából kell találnia egy adott szakaszt a hibaelhárításhoz? Vagy gyorsan meg kell találnia a lényeges információkat tartalmazó dokumentumot?
Linux esetén számos módszer létezik a szövegek fájlokban való megkeresésére. Mind a beépített eszközök, mind a harmadik féltől származó alkalmazások használatával lehetséges. Nézze meg, hogyan találhat szövegeket a fájlokban Linux alatt.
Szöveg keresése fájlokban
Attól függően, hogy hány fájlban kell keresni, a szövegkeresésnek két módja van: automatikus vagy manuális. Ha pár szövegfájllal kell dolgoznia, akkor a kézi keresés megfelelőbb. Ha azonban több száz szöveges fájl létezik, akkor az automatizált keresés a leghatékonyabb.
Az automatikus kereséshez a grep -t fogjuk használni. A Grep minden Linux disztribúcióra előre telepítve van. Ami a kézi keresést illeti, minden modern szövegszerkesztő elvégzi a munkát.
Szöveg keresése a fájlokban a grep használatával
Linux alatt a grep az alapértelmezett eszköz a szövegek kereséséhez. Neve a g/re/p ed parancsból származik, amely a reguláris kifejezés globális keresését és a megfelelő sorok nyomtatását jelenti. Bármilyen modern Linux disztribúcióban elérhető.
A Grep egy parancssori eszköz. Parancsszerkezete a következő.
$markolat <választási lehetőség> <reguláris kifejezés> <fájl elérési út>Ahogy a grep neve is sugallja, a keresendő mintát reguláris kifejezéssel írjuk le. A reguláris kifejezés egy speciális típusú karakterlánc, amely leírja a megfelelő, keresendő és kezelhető mintát. 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álata reguláris kifejezéssel .
Bemutató célból vegyen elő egy minta szövegfájlt. Ebben a példában töltse le a GNU General Public License v3.0 szövegfájl .
Alapvető keresés
A grep használatának alapvető módja az alapvető karakterlánc keresése.
Nézze meg a következő grep parancsot. A GNU szót fogja keresni a szövegfájlban.
$markolat 'GNÚ'lpg-3.0.txt
A sorszám megjelenítéséhez használja a -n jelzőt.
$markolat -nGNU gpl-3.0.txt
Ha kis- és nagybetűket nem kíván keresni a grep használatával, használja az -i jelzőt.
$markolat -nignu gpl-3.0.txt
Előfordulhat, hogy nem a keresési egyezéseket szeretné látni, hanem csak azt a fájlnevet, ahol bizonyos esetekben az egyezés történt. Csak a fájlnév nyomtatásához használja az -l jelzőt. Itt a csillag jelzi az aktuális könyvtár összes szövegfájljának használatát.
$markolat -azgnú*
Más parancsok kimenetét is a grep -hez csövezhetjük.
$macskalpg-3.0.txt| markolat -nGNÚ
Reguláris kifejezés
A Regex intelligens módot kínál a keresés finomhangolására. Ennek megvannak a maga szabályai. A különböző alkalmazások és programozási nyelvek azonban eltérő módon 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.
Használja a caret (^) szimbólumot annak meghatározásához, hogy a karakterlánc a sor elején található.
$markolat -n^ GNU gpl-3.0.txt
A dollárjel ($) segítségével határozza meg, hogy a karakterlánc a sor végén található.
$markolat -n$ gpl-3.0.txt
Annak leírásához, hogy a minta egy bizonyos helyén bármilyen karakter lehet, használja a pont karaktert (.). Például a G.U kifejezés akkor érvényes, ha G és U között van karakter.
$markolat -nG.U gpl-3.0.txt
A zárójelek ([]] segítségével írja le, hogy a minta egy adott helyén karakterek lehetnek. Például a t [wo] o kifejezés azt jelzi, hogy az illeszkedés csak kettőre és túlságosan is érvényes.
$markolat -nt[Ahol]o gpl-3.0.txt
Kiterjesztett reguláris kifejezés
Ahogy a neve is sugallja, a kiterjesztett reguláris kifejezés összetettebb dolgokat tehet, mint az alap reguláris kifejezések. A grep kiterjesztett reguláris kifejezés használatához a -E jelzőt kell használnia.
$markolat -született <expand_regex> <fájlt>Két különböző karakterlánc kereséséhez használja a VAGY operátorokat (|).
$markolat -születettGNÚ|Tábornok|Licenc gpl-3.0.txt
Szöveg keresése fájlokban
Most jön a fő rész. Ahelyett, hogy manuálisan azt kéri a grep fájltól, hogy hajtsa végre a keresést, a grep automatikusan megteheti. A következő parancsban a grep az aktuális könyvtár összes elérhető szövegfájlját használja a minta kereséséhez.
$markolat <regex> *Ha azt szeretné, hogy a grep egy másik könyvtárban végezze el a keresést, akkor meg kell adnia a helyet.
$markolat <regex> <directory_path>
Ha vannak mappák, a grep alapértelmezés szerint nem fedezi fel azokat. Ha azt szeretné, hogy a grep rekurzívan keressen, használja a -R jelzőt.
$markolat -nR <regex> <directory_path>
Grip GUI
Ha inkább GUI -val szeretne dolgozni, de mégis szeretné élvezni a grep funkcióit, akkor nézze meg a searchmonkey -t. Ez egy front-end megoldás a grep számára. A csomag szinte minden nagyobb Linux disztribúción elérhető.
Szöveg keresése a fájlokban a nano használatával
A GNU Nano egy egyszerű és hatékony szövegszerkesztő, amely minden Linux disztribúcióhoz tartozik. Beépített funkciókkal rendelkezik, amelyekkel szöveges fájlban kereshet szöveget.
Vegye figyelembe, hogy ezzel a módszerrel meg kell nyitnia a szöveges fájlt, és manuálisan kell keresnie. Megvalósítható, ha csak maroknyi szövegfájllal kell dolgozni. Ha több van, akkor a grep használata a legoptimálisabb választás.
Nyissa meg a szöveges fájlt nano -ban.
$nano <fájl elérési út>
Ha karakterlánc -egyezést szeretne keresni, nyomja meg a Ctrl + W billentyűkombinációt. Miután beírta a keresendő karakterláncot, nyomja meg az Enter billentyűt.
Szöveg keresése a fájlokban a Vim használatával
A Vim jól ismert és neves szövegszerkesztő. Ez egy modern szövegszerkesztő parancssori megfelelője. A Vim számos fejlett funkcióval rendelkezik, például bővítmények, makrók, automatikus kiegészítés, szűrők stb.
A nanohoz hasonlóan a Vim egyszerre egyetlen fájllal dolgozik. Ha több szöveges fájlja van, akkor a grep használata a legoptimálisabb.
Ha szöveges fájlban szeretne keresni, először nyissa meg a Vim -ben.
$jöttem <fájl elérési út>
Írja be a következő Vim parancsot, és nyomja meg az Enter billentyűt.
$:/<keresési kifejezés>
Szöveg keresése a fájlokban a GNOME szövegszerkesztővel
A GNOME szövegszerkesztő a GNOME asztalhoz tartozó szövegszerkesztő. Ez egy egyszerű szövegszerkesztő, amely minden alapvető funkciót elvárt. Ez egy jó alternatíva a parancssori szövegszerkesztőkhöz.
A nanohoz és a vimhez hasonlóan ez a módszer is óvatos. Ha nagy a szöveges fájlok száma, akkor inkább maradjon a grep -nél.
Nyissa meg a szövegfájlt a Szövegszerkesztőben. Nyomja meg a Ctrl + F billentyűt a keresősáv megjelenítéséhez.
Szöveg keresése a fájlokban a VS Code használatával
A Visual Studio Code egy hatékony szövegszerkesztő, rengeteg funkcióval. Úgy van optimalizálva, hogy a programozók úgy használhassák, mintha egy teljes értékű IDE lenne. Szinte az összes nagyobb Linux disztribúción elérhető.
Telepítse a Visual Studio Code beépülő csomagot.
$sudocsattantelepítéskód--klasszikus
Nyissa meg a szöveges fájlt a VS Code -ban. A keresés megkezdéséhez nyomja meg a Ctrl + F billentyűkombinációt.
Végső gondolatok
A fájlokban található szövegek keresésének számos módja van. Könnyű feladat elsajátítani. Erősen ajánlott elsajátítani a grep parancsot, mert ez nyújtja a legtöbb értéket 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övegkeresési lehetőséget.
Boldog számítástechnikát!