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.