Ako rekurzívne používať Grep?

How Use Grep Recursively



Príkaz Grep sa používa na vyhľadávanie textu zo súborov. Je to všestranný vzor, ​​ktorý vyvoláva grep s –r. –R voľba vyhľadáva súbory rekurzívne z podadresárov, začínajúc od aktuálneho adresára. Príkaz sa spustí z adresára najvyššej úrovne. Napríklad /home /abc atď. Grep je nástroj na získavanie závislostí pri prechode z jedného hostiteľa na druhého. Ak v príkaze neuvádzame adresár, grep vyhľadá aktuálny pracovný adresár. Aby sa grep vykonal rekurzívne, existujú tri argumenty, ktoré sme prevzali z manuálovej stránky grep.

$Mužuchopenie







–Include sa používa na presnú zhodu v súbore, ktorou môžu byť súbory, ktoré sa nachádzajú v adresári, alebo predvolene. –R znamená názov adresára, ako bolo popísané vyššie, ak v príkaze nie je definovaná žiadna cesta, bude sa brať do úvahy aktuálny adresár. Nasleduje iba symbolický odkaz. –R sa úplne líši od –r, pretože číta všetky súbory, nielen symbolicky definované.



Syntax

Grip -R vzor/cesta/

Cesta je cesta k adresáru. A vzor je slovo alebo reťazec, ktorý chcete hľadať.



Predpoklad

Aby ste pochopili rekurzívnu funkciu grep, musíte mať operačný systém Linux. Po inštalácii nakonfigurujete Linux zadaním používateľského mena a hesla. Potom získate oprávnenia na prístup ku všetkým aplikáciám v tomto operačnom systéme.





Všetky súbory v systéme Linux

Tento príkaz vám pomôže vyhľadať všetky názvy súborov v adresároch vášho systému. Keďže –l funguje pri zadávaní iba názvov súborov, –r pomôže ako výstup symbolicky vyhľadávať kdekoľvek, kde je požadované slovo. Zatiaľ čo Aqsa je slovo, ktoré chceme hľadať. Tento príkaz neobsahuje žiadnu cestu k adresáru, pretože tu chceme v systéme všetky možné názvy súborov. Ak sme zadali cestu, bude mať proces vyhľadávania obmedzenia.

$uchopenie–R –l aqsa



Jednoduchý príklad

Aby sme pochopili dilemu rekurzivity pomocou cesty, predstavili sme jednoduchý príklad, ktorý používateľa prevedie. Ako je uvedené v nižšie uvedenom príkaze, všestranné je slovo, ktoré chceme hľadať. Za slovom je adresár, v ktorom chceme triediť. Zobrazuje názov súboru s adresárom a celý text v súbore. –R tiež zobrazuje binárne súbory.

$uchopenie–R všestranný/Domov/aqsayasin

Rekurzívne vyhľadávanie vo všetkých adresároch a podadresároch

Všetci poznáme funkčnosť * vo vyhľadávacom systéme. Znamená to triedenie vo všetkých súboroch. Príkaz teda zobrazí príslušné údaje zo všetkých súborov. Domáce slovo sa má rekurzívne vyhľadávať pomocou príkazu grep.

$uchopenie- dom*

Zobrazuje názvy súborov a text vo vnútri zvýraznením hľadaného slova, čo znamená, že existuje zhoda. Toto slovo obsahoval iba jeden textový súbor, ktorý je zobrazený vo výslednom riadku.

Grep rekurzívne pre reťazec

Na rozdiel od vyššie uvedených príkladov grep funguje na reťazci v konkrétnom adresári. / etc/ je príkazový adresár, čo znamená, že vyhľadávanie bude prebiehať prostredníctvom tohto adresára, IP adresy počítača. Jeho informácie sú uložené v adresári s názvami súborov prítomnými v adresári/etc/ppp/. Táto možnosť je názov konkrétneho priečinka. Tento príkaz načíta všetky súbory pod daným adresárom.

$uchopenie–R 192.168.1.5/atď/

Názvy súborov vo výstupe je možné potlačiť pomocou voľby –h. Príkaz je nasledujúci.

$uchopenie -h -R „192.168.1.5“ /atď/

Oba oddeľovače je možné napísať ako -h -R do príkazu.

Hľadajte rekurzívne bez adresára

Rekurzívne vyhľadávanie je možné vykonať aj bez použitia adresára jednoduchým vyhľadaním slova pomocou jedného slova.

$uchopenie- manželka

Slovo manželka sa automaticky vyhľadá vo všetkých adresároch, pretože keď nie je uvedený žiadny adresár, proces vyhľadávania bude pokračovať vo všetkých súboroch a adresároch systému. Spolu s textovými súbormi bude zahŕňať aj binárne súbory. Najprv sa zobrazí adresa súboru a názov súboru. Zatiaľ čo text v súbore je zobrazený. Zobrazuje sa nielen čistý text, ale aj príkaz grep použitý na text súboru, tj. Grep „Som žena v domácnosti“.

Grep Presné viac vzorov

Vyhľadávanie vo viacerých metódach je tiež funkcia získaná pomocou príkazu grep. -rw sa používa na preskúmanie konkrétneho zápasu. -e sa používa na pridanie viac ako jedného vzoru do príkazu. Cesta k adresáru je spomenutá, aby bolo prehľadávanie systému pohodlné. Binárne súbory sú vylúčené, pretože limit je zavedený pri pridávaní adresára do príkazu. Výstup obsahuje názov adresára súboru a názov súboru. Zobrazí sa tiež text v súbore.

$uchopenie–Rw ‘/Domov/aqsayasin/'

Hľadané slová sú v texte súboru zvýraznené. Oba hľadané výrazy musia byť prítomné v jednom súbore. Ako je uvedené vo výstupe, existuje pravdepodobnosť existencie slov v rôznych súboroch.

Grep rekurzívne pomocou --Zahrnúť

—Include zodpovedá danému vzoru súboru a funguje efektívne, pretože tiež urýchľuje proces vyhľadávania, pri ktorom funguje väčšina súborov. Tu neprináša binárne alebo kompilované ani obrazové súbory. Prípona súboru sa používa na pridanie obmedzení príkazu. Adresár je uvedený, aby priniesol požadovaný výstup. Zahrnuté kľúčové slovo je v grep v porovnaní s inými funkciami dosť pokročilé.

$uchopenie–R --zahrnúť=*txt sestra/Domov/aqsayasin

Záver

V tomto článku sme vysvetlili každý príklad, aby sme demonštrovali použitie rekurzívnej funkcie grep. Rekurzívna funkcia sa používa na vyhľadávanie s obmedzeniami a presne vo všetkých adresároch v systéme. Ak adresár nie je k dispozícii, predvolený sa považuje aktuálny adresár.