Syntax
$ grep 'vzor1 \ | vzor2' názov súboruRegulárny výraz je vždy napísaný v jednej úvodzovke. Dva názvy sú oddelené operátorom spätnej lomky a zmeny. Príkaz je ukončený názvom súboru. Pri rekurzívnom grep sa namiesto jedného názvu súboru použije adresár alebo celá cesta.
Predpoklad
V tomto článku sa dozvieme funkčnosť grepu pri vyhľadávaní viacerých vzorov a reťazcov. Z tohto dôvodu musíte mať vo svojom virtuálnom boxe spustený operačný systém Linux. Musíte si ho nainštalovať do vášho systému. Po nakonfigurovaní budete mať prístup k používaniu všetkých aplikácií. Po prihlásení sa používateľa zadaním hesla prejdite na príkazový riadok terminálového shellu a pokračujte.
Vyhľadávajte podľa viacerých vzorov v súbore pomocou programu Grep
Ak chceme prehľadať viac vzorov alebo reťazcov v konkrétnom súbore, použite funkciu grep na zoradenie v súbore pomocou viac ako jedného vstupného slova v príkaze. Používame '\ |' operátory na oddelenie dvoch vzorov v príkaze.
$ grep 'technická \ úloha'.TXTPríkaz predstavuje spôsob práce grep. Oba uvedené súbory budú prehľadané v priečinku Filea.TXT. Hľadané slová sú zvýraznené v celom texte výstupu.
Ak chceme vyhľadať viac ako dve slová, budeme ich pridávať stále rovnakým spôsobom.
$ grep 'grafický \ Photoshop \ plagáty' fileb.TXT
Vyhľadajte viac reťazcov podľa ignorovania malých a veľkých písmen
Ak chcete porozumieť konceptu rozlišovania malých a veľkých písmen vo funkcii grep v systéme Linux, zvážte nasledujúci príklad. Na grep fungujú dva príkazy. Jeden je s príponou „-i“ a druhý bez neho. Tento príklad demonštruje rozdiely medzi príkazmi. Prvý ukazuje, že v danom súbore budú vyhľadávané dve slová. Ako je však uvedené v príkaze „Aqsa“, začína sa na veľké písmeno A. Nebude teda zvýraznený, pretože v konkrétnom súbore je tento text malými písmenami.
$ grep súbor 'Aqsa \ | sestra' 20.TXTBude brať do úvahy iba slovo sestra, ktoré bude vidieť na výstupe.
V druhom príklade sme ignorovali rozlišovanie malých a veľkých písmen pomocou príznaku „-I“. Táto funkcia vyhľadá obe slová a výstup sa zvýrazní. Či už je slovo „Aqsa“ napísané veľkými písmenami alebo nie, grep vyhľadá rovnakú zhodu v texte v súbore. Oba príkazy sú teda svojimi spôsobmi užitočné.
$ grep - Súbor 'Aqsa \ | sestra' 20.TXT
Počítanie viacerých zhôd v súbore
Funkcia Count pomáha pri počítaní výskytu slova alebo slov v konkrétnom súbore. Napríklad, ak chcete vedieť o chybách, ktoré sa vyskytujú v systéme. Podrobnosti sa zaznamenajú do súboru denníkov. Ak chcete tieto informácie uchovať v konkrétnom priečinku, napíšete cestu k priečinkom. Tento príklad ukazuje, že v súboroch protokolu sa vyskytlo 71 chýb.
Vyhľadajte presné zhody v súbore
Ak chcete nájsť presnú zhodu v súboroch vášho systému, musíte ju pomocou príznaku „-w“ presne zoradiť. Citovali sme jednoduchý a komplexný príklad. V nasledujúcom príklade zvážte hľadanie bez znaku „-w“, tento príkaz prinesie obe slová zhodné s daným vstupom. Ale s použitím príznaku „-w“ bude hľadanie obmedzené, pretože vstupné slová sa zhodujú iba s prvým reťazcom. Druhé slovo nie je zvýraznené, pretože „-w“ umožňuje presné priradenie k vzoru.
$ -iw súbor 'hamna \ | house '21.TXTTu sa tiež používa na odstránenie malých a veľkých písmen pri vyhľadávaní textu.
Ako je vidieť na fotografii, výsledky nie sú rovnaké. Prvý príkaz prináša všetky súvisiace údaje s celými reťazcami, zatiaľ čo druhý príkaz ukazuje, ako sa presné údaje zhodujú pomocou grepu pri vyhľadávaní viacerých reťazcov.
Grep pre viac ako jeden vzor v konkrétnom type prípony súboru
Vyhľadávanie sa deje vo všetkých súboroch. Je na vás, či budete hľadať zadaním názvu súboru. Bude prehľadávať iba v konkrétnych súboroch. Ale poskytnutím prípony súboru budú dáta prehľadané vo všetkých súboroch tej istej prípony. Existujú dva rôzne príklady na znázornenie súvisiaceho výsledku. Vzhľadom na prvý príklad sa chybové súbory započítajú do všetkých súborov .rozšírenie protokolu. Na počítanie sa používa „-c“.
$ grep -c 'varovanie \ | chyba' / var / log / *.log
Tento príkaz znamená, že súbory budú prehľadané vo všetkých súboroch .rozšírenie protokolu. Počet zhôd sa zobrazí na výstupe, aby sa lepšie demonštroval grep s konkrétnou príponou súboru.
V druhom príklade sme v našich súboroch v systéme Linux použili dve slová s rozšírením textu. Všetky údaje sa zobrazia vo forme čísel. 0 označuje žiadne zodpovedajúce údaje, zatiaľ čo iné ako 0 ukazujú, že zhoda existuje.
$ grep -c 'aqsa \ | môj' / home / aqsayasin / *.TXT
Rekurzívne hľadanie viacerých vzorov v súbore
Predvolene sa použije aktuálny adresár, ak v príkaze nie je uvedený žiadny adresár. Ak chcete vyhľadávať v adresári podľa vlastného výberu, musíte ho spomenúť. Operátor „-r“ sa používa na grep rekurzívne./ home / aqsayasin / zobrazuje cestu k súborom, zatiaľ čo *.txt ukazuje príponu. Grep bude cieľom rekurzívneho vyhľadávania grepu.
$ grep -R 'technical \ | free' / home / aqsayasin / *.TXT
Požadovaný výstup je vo výsledku zvýraznenom existenciou týchto slov zvýraznený.
Záver
V článku uvedenom vyššie sme citovali rôzne príklady, ktoré majú používateľovi uľahčiť pochopenie fungovania príkazov na prehľadávanie viacerých vzorov v systéme Linux. Táto príručka vám pomôže pri rozširovaní vašich existujúcich vedomostí.