Hogyan használjuk a Grep -t rekurzívan?

How Use Grep Recursively



A Grep paranccsal szövegek kereshetők a fájlokból. Ez egy sokoldalú minta, amely meghívja a grep –r -t. –R opció rekurzívan keres fájlokat alkönyvtárakból, az aktuális könyvtárból kiindulva. A parancs a legfelső szintű könyvtárból fut. Például a /home /abc stb. Ha nem említünk könyvtárat a parancsban, a grep keresni fogja az aktuális munkakönyvtárat. A grep rekurzív végrehajtásához három érvet vettünk fel a grep man oldaláról.

$Férfimarkolat







–Include a fájl pontos egyezésére szolgál, amely lehet a könyvtárban található fájl, vagy alapértelmezés szerint. –R a könyvtár nevét jelenti, amint azt korábban leírtuk, ha a parancsban nincs megadva elérési út, akkor az aktuális könyvtár kerül figyelembevételre. Csak szimbolikus linket követ. –R egészen más, mint –r, mert minden fájlt olvas, nem csak a szimbolikusan meghatározott fájlokat.



Szintaxis

Markolat – R minta/pálya/

Az útvonal egy könyvtár elérési útja. A minta pedig egy keresendő szó vagy karakterlánc.



Előfeltétel

A grep rekurzív funkció megértéséhez Linux operációs rendszerre van szükség. A telepítés után konfigurálja a Linuxot felhasználónév és jelszó megadásával. Ezt követően jogosultságokat kap az operációs rendszer összes alkalmazásához.





Minden fájl Linuxon

Ez a parancs segít megkeresni a rendszer könyvtáraiban található összes fájlnevet. Mivel az –l csak a fájlnevek megadásában dolgozik, az –r segít szimbolikusan keresni mindenhol, ahol a kívánt szó megtalálható, kimenetként jelenik meg. Míg az Aqsa az a szó, amelyet keresni szeretnénk. Ez a parancs nem tartalmaz útvonalat a könyvtárhoz, mert itt minden lehetséges fájlnevet szeretnénk a rendszerben. Ha megadtuk az elérési utat, akkor a keresési folyamatnak korlátai vannak.

$markolat–R –l aqsa



Egyszerű példa

Ahhoz, hogy megértsük a rekurzivitás dilemmáját az útvonal segítségével, egy egyszerű példát vezettünk be a felhasználó irányítására. Amint azt az alábbi parancs mutatja, a sokoldalú kifejezés olyan szó, amelyet keresni szeretnénk. A szó után van egy könyvtár, amelyben rendezni szeretnénk. Megmutatja mind a fájlnevet a könyvtárral, mind a fájl teljes szövegét. –R a bináris fájlokat is mutatja.

$markolat- sokoldalú/itthon/aqsayasin

Rekurzív keresés az összes könyvtárban és alkönyvtárban

Mint mindannyian ismerjük a * funkciót a keresőrendszerben. Ez magában foglalja az összes fájl rendezését. Tehát a parancs megjeleníti az összes fájl megfelelő adatait. A ház szót rekurzívan kell keresni a grep utasítás használatával.

$markolat–R ház*

A keresett szó kiemelésével megjeleníti a fájlneveket és a benne lévő szöveget, jelezve, hogy létezik egyezés. Csak egyetlen szövegfájl tartalmazta ezt a szót, amely megjelenik a kapott sorban.

Grep Rekurzívan egy karakterlánc számára

A fenti példákkal ellentétben a grep az adott könyvtárban lévő karakterláncon dolgozik. Az/ etc/ a parancskönyvtár, ami azt jelenti, hogy a keresés ezen a könyvtáron, a számítógép IP -címén keresztül fog történni. Információi a könyvtárba kerülnek, és a fájlnevek az/etc/ppp/könyvtárban vannak. Az opció egy adott mappa neve. Ez a parancs beolvassa az összes fájlt az adott könyvtár alatt.

$markolat–R 192.168.1.5/stb./

A kimenetben található fájlok neve a –h opció segítségével elnyomható. A parancs a következő.

$markolat -h -R '192.168.1.5' /stb./

Mindkét elválasztó parancs -h -R -be írható.

Rekurzív keresés könyvtár nélkül

A rekurzív keresés könyvtár használata nélkül is elvégezhető, ha egyszerűen keres egy szót egyetlen szóval.

$markolat- r feleség

A feleség szót minden könyvtárban automatikusan megkeresi, mert ha nincs említett könyvtár, a keresési folyamat a rendszer összes fájljában és könyvtárában folytatódik. Bináris fájlokat is tartalmaz a szöveges fájlokkal együtt. Először a fájl címe és a fájlnevek jelennek meg. Míg a szöveg a fájlon belül jelenik meg. Nem csak a sima szöveg, hanem a fájl szövegére alkalmazott grep parancs is megjelenik, azaz a grep ‘háziasszony vagyok’.

Grep Pontos több minta

A több módszer keresése szintén a grep parancs segítségével érhető el. -rw az adott mérkőzés feltárására szolgál. -e egynél több minta hozzáadására szolgál a parancsban. A könyvtár elérési útja azért van megemlítve, hogy megkönnyítse a rendszer keresését. A bináris fájlok kizártak, mert a korlát bevezetésre kerül egy könyvtár hozzáadásával a parancsban. A kimenet tartalmazza a fájlkönyvtár nevét és a fájl nevét. Ezenkívül megjelenik a fájlon belüli szöveg.

$markolat–Rw ’/itthon/aqsayasin/'

A keresett szavak kiemelve vannak a fájl szövegében. Mindkét keresett kifejezésnek egyetlen fájlban kell szerepelnie. Valószínű, hogy szavak léteznek a különböző fájlokban, amint azt a kimenet is mutatja.

Grep Rekurzív használatával --Include

- az include egyezik az adott fájlmintával és hatékonyan működik, mivel felgyorsítja a keresési folyamatot is, amely a legtöbb fájlnál működik. Itt nem hoz létre bináris vagy fordított vagy képfájlokat. A fájlkiterjesztést korlátok hozzáadására használják a parancshoz. A könyvtárat a szükséges kimenet eléréséhez említik. A mellékelt kulcsszó meglehetősen fejlett a grep -ben más funkciókhoz képest.

$markolat- r --magában foglalja=*txt nővér/itthon/aqsayasin

Következtetés

Ebben a cikkben minden példát elmagyaráztunk, hogy bemutassuk a grep rekurzív függvény használatát. A rekurzív függvény segítségével korlátozottan és pontosan kereshet a rendszer minden könyvtárában. Ha nincs könyvtár, akkor alapértelmezés szerint az aktuális könyvtár tekintendő.