Anonim

Globálna regulárna expresná tlač alebo iba grep je jedným z najuniverzálnejších a najbežnejších príkazov v systémoch Unix a Linux. Príkaz vyhľadá jeden alebo viac vstupných súborov a zodpovedajúce riadky vzorov. Výsledkom je štandardný výstup so zodpovedajúcimi riadkami.

Ak neurčíte súbor, grep použije pre vstupy štandardný vstup a pravdepodobne bude výstupom iného príkazu. Celkovo má grep priamu syntax, či ju používate s alebo bez názvu súboru.

Tento článok poskytuje rýchly prehľad syntaxe grep a niektoré základné príkazy, ktoré môžete použiť s názvom súboru alebo bez neho.

Predtým ako začneš

Všetky príkazy grep nasledujú rovnakú syntax a každý parameter má špecifickú funkciu. Tu je ukážka:

grep PATTERN

Na ovládanie výstupu príkazu môžete použiť množstvo MOŽNOSTÍ v grepe a číslo začína na nule. PATTERN označuje vzor vyhľadávania, ktorý chcete použiť. Pokiaľ ide o SÚBOR, ide o názov súboru alebo názvy súborov, ale parameter je možné nastaviť na nulu.

Hľadanie reťazcov vo výstupe príkazu

Ako je uvedené, nemusíte používať konkrétne vstupné súbory. Výstup iného príkazu možno použiť v grep na získanie riadkov, ktoré presne zodpovedajú vzoru. To sa dá použiť na určenie procesov, ktoré sú v systéme aktívne. Toto je ukážková syntax príkazu:

$ ps -ef | grep www-data

Výstup, ktorý získate, by mal vyzerať asi takto:

www-údaje 18247 12675 4 16:00? 00:00:00 php-fpm: pool www
root 18272 17714 0 16:00 pts / 0 00:00:00 grep –color = auto –exclude-dir = .bzr –exclude-dir = CVS –exclude-dir = .git –exclude-dir = .hg – exclude dir = .svn www-data
www-data 31147 12770 0 október? 00:05:51 nginx: pracovný proces
www-data 31148 12770 0 október? 00:00:00 nginx: proces správcu vyrovnávacej pamäte

Existuje spôsob, ako vylúčiť príkazový riadok, ktorý obsahuje grep procesy. Preto musíte použiť $ ps -ef | grep www-data | príkaz grep -v grep .

Grep Word Search

Príkazy grep môžete použiť na vyhľadávanie konkrétnych slov v súboroch vo vašom systéme. V skutočnosti nie je potrebné zadávať celé slovo. Môžete napríklad použiť napríklad príkaz gnu a príkaz vydá všetky slová, ktoré obsahujú tieto tri písmená. Syntax príkazu je:

$ grep gnu / usr / share / slov

Po vykonaní príkazu by výstup mal vyzerať asi takto:

cygnus
pakôň
Interregnum
lgnu9d
Lignum
magnum
Magnuson
rašelinníkov
Wingnut

Na druhej strane môžete vyhľadávať iba konkrétne slovo alebo reťazec písmen a vylúčiť všetko ostatné. Preto musíte do syntaxe pridať výraz -w alebo –word - regexp . V takom prípade vyzerá príklad príkazu takto - $ grep -w gnu / usr / share / words .

Poznámka: Na účely gramatiky majú niektoré príkazy na konci bodku. Nepotrebujete túto interpunkčnú znamienku pre grep. Vylúčte to pri kopírovaní / vkladaní príkazu.

Je Grep Case Sensitive?

Všetky príkazy grep sú štandardne citlivé na veľkosť písmen. To znamená, že použitie malých a veľkých písmen znamená rozdiel v samotnom príkaze. Môžete však pridať - i ( - ignore - case ) na príkazový riadok a umožniť systému vyhľadávať slová veľkých aj malých písmen.

Napríklad váš vstupný príkaz môže vyzerať takto: $ grep -i Zebra / usr / share / slov . Umožňuje výstupu pri hľadaní zebry porovnávať akúkoľvek kombináciu veľkých a malých písmen.

Čísla riadkov

Použite možnosť –line-number alebo just -n na určenie počtu riadkov s reťazcom, ktorý sa zhoduje s konkrétnym vzorom vyhľadávania. Výsledkom je štandardný výstup s číslom linky pred ním.

Presný príkaz môže vyzerať takto: $ grep -n 10000 / etc / services . Po vykonaní výstup poskytne všetky zhody, ktoré nájde na 10 000 riadkoch. Pozrite sa na ukážku nižšie:

10423: ndmp 10 000 / tcp
10424: ndmp 10000 / udp

Súbory v priečinkoch

Namiesto názvu súboru môžete za príkaz grep umiestniť hviezdičku. Pri opätovnom použití kritérií gnu príkaz vyzerá takto: $ grep gnu * a výstup obsahuje súbory, ktoré obsahujú gnu . Je dôležité si uvedomiť, že tento druh príkazu vracia riadok.

Poznámka: Pri grep sa riadok vzťahuje na postupnosť znakov, ktoré bežia až po zadanú prestávku. Pokiaľ vyhľadávanie nedokončíte, výstup môže obsahovať celé odseky informácií.

Urobte ďalší krok s Grepom

Táto príručka iba poškriaba povrch toho, čo môžete robiť s grepom. Získanie všetkých šancí a cieľov môže chvíľu trvať, ale syntax sa riadi pomerne jednoduchým princípom. A pri niektorých praktikách budete môcť vylepšiť svoje vyhľadávanie k dokonalosti, s alebo bez názvu súboru.

Ako grep bez názvu súboru