grep

Grep pre viac vzorov alebo reťazcov

Grep pre viac vzorov alebo reťazcov
Global Regular Expression Print alebo Grep je výkonný nástroj používaný v operačnom systéme Linux. Prostredníctvom grep môžete vyhľadávať zo súborov s rôznymi vzormi alebo reťazcami pomocou obmedzenia. Funkcia Grep vyžaduje jeden alebo viac vstupných súborov na vyhľadávanie v adresároch alebo podadresároch. Na hľadanie početných vzorov používame operátor OR. Tento operátor sa používa na oddelenie vzorov napísaných v príkaze. Operátor zmeny „|“ sa používa s opačným lomítkom. Syntax pre hľadanie rôznych regulárnych výrazov je nasledovná:

Syntax

$ grep 'vzor1 \ | vzor2' názov súboru

Regulá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'.TXT

Prí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.TXT

Bude 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.TXT

Tu 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í.

Hry Ako používať AutoKey na automatizáciu hier pre Linux
Ako používať AutoKey na automatizáciu hier pre Linux
AutoKey je obslužný program na automatizáciu stolných počítačov pre systémy Linux a X11, programovaný v programoch Python 3, GTK a Qt. Pomocou jeho fu...
Hry Ako zobraziť počítadlo FPS v hrách Linux
Ako zobraziť počítadlo FPS v hrách Linux
Hranie na systéme Linux získalo veľký tlak, keď spoločnosť Valve v roku 2012 oznámila podporu systému Linux pre klienta Steam a ich hry. Od tej doby s...
Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...