Hogyan lehet szöveget keresni a fájlokban Linux alatt

How Find Text Files Linux



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!