Grep

A grep (neve a Global | Regular Expression | Print szavak kezdőbetűiből származik) parancssorból futtatható program, mely a paraméterként megadott fájlokban vagy a standard inputban megadott tartalomban keres reguláris kifejezések alapján. Első verzióját a Unix operációs rendszerhez írták. Ma a legtöbb Unix és Unix-szerű rendszernek, így a különböző Linux disztribúcióknak és a Mac OS X rendszereknek is része a grep. Windows rendszerekhez letölthető például a GNU grep a Cygwin részeként.

Használat

Keresés egyetlen fájlban

Keressük a tehén szót az A_tej_ára.txt szövegfájlban:

grep tehén A_tej_ára.txt

A grep ekkor kiírja azokat a sorokat a fájlból, amelyek tartalmazzák a tehén stringet. Ha a fájl valamely sora a TEHÉN vagy a Tehén stringet tartalmazza, akkor nem íródik a kimenetre, mert a grep alapértelmezésben kis- és nagybetű érzékeny (case-sensitive). Ezt a -i kapcsolóval lehet felülbírálni:[1]

grep -i tehén A_tej_ára.txt

Ebben az esetben akár a Tehén de akár a TehÉN string is egyezőnek számít.

Keresés teljes szóra

A -w (--word-regexp) kapcsolóval teljes szavakra is kereshetünk:[1]

grep -w tehén A_tej_ára.txt

A keresés listázza azokat a sorokat, amelyek a tehén szót tartalmazzák, de azokat nem, amelyekben például a tehéntej szó szerepel.

A -c (--count) kapcsolóval azt is megszámolhatjuk, hogy a keresett szó hány sorban fordul elő a fájlban:[2]

grep -w -c tehén A_tej_ára.txt

Keresés alkönyvtárakban

Lehetséges a rekurzív keresés is egy adott könyvtárstruktúrában a -r kapcsolóval. Az alábbi példában a grep a tehén stringet tartalmazó sorokat keresi az Dokumentumok/ könyvtár alatti teljes struktúrában:[3]

grep -r tehén Dokumentumok/

A -l vagy --files-with-matches opció hatására csak az illeszkedő fájlok nevei kerülnek a kimenetre.[2] Az előző példát kiegészítve így használható:

grep -r -l tehén Dokumentumok/

Ezzel ekvivalens az alábbi írásmód:

grep -rl tehén Dokumentumok/

Szabályos kifejezések

A grep Reguláris kifejezéseket is tud értelmezni. Az alábbi példában a grep egyaránt megtalálja a Bivaly és a Bagoly szavakat a bemeneti fájlban, hiszen mindkettő illeszkedik az B...ly szabályos kifejezésre:

grep B...ly állatok.txt

Szabályos kifejezés segítségével sorok kezdete és sorok vége is detektálható. Az alábbi példa az olyan sorokat listázza, melyek úgy végződnek, hogy ,,ni".

grep "ni$" versek.txt

A nagy ,,Dzs" betűvel kezdődő sorokat listázza ki az alábbi példa

grep "^Dzs" mongolia.txt

Jegyzetek

  1. a b http://www.gnu.org/s/grep/manual/html_node/Matching-Control.html#Matching-Control Free Software Foundation, 2011. június 25.
  2. a b http://www.gnu.org/s/grep/manual/html_node/General-Output-Control.html#General-Output-Control Free Software Foundation, 2011. június 25.
  3. http://www.gnu.org/s/grep/manual/html_node/File-and-Directory-Selection.html#File-and-Directory-Selection Free Software Foundation, 2011. június 25.

További információk

  • (en) How To Use grep Command In Linux / UNIX[halott link]
  • (en) GNU grep examples
  • (en) GNU grep manual
  • (en) Ubuntu Manpage Repository
Sablon:Unix parancsok
  • m
  • v
  • sz
Unix parancssoros programok és utasítások
Fájlrendszer
cat · cd · chmod · chown · chgrp · cksum · cmp · cp · dd · du · df · file · fsck · fuser · ln · ls · lsattr · lsof · mkdir · mount · mv · pwd · rm · rmdir · sha1sum · size · split · tee · type  · touch · umask
Processzek
at · chroot · cron · exit · kill · killall · nice · pgrep · pidof · pkill · ps · pstree · sleep · time · top · wait
Felhasználói környezet
env · finger · id · logname · mesg · passwd · su · sudo · uptime · tput · w · wall · who · whoami · write
Szövegkezelés
awk · banner · comm · cut · ed · ex · fmt · head · iconv · join · less · more · paste · sed · sort · strings · talk · tac · tail · tr · uniq · vi · wc · xargs
Shell programozás
alias · basename · case  · clear · dirname · echo · expr · false · for · if · printf · seq · test · true · uname · unset  · until  · while  · yes
Hálózat
dig · host · inetd · netstat · ping · rlogin · netcat · traceroute
Keresés
find · grep · locate · whereis · which · whatis
Dokumentáció
apropos · help · man
Egyéb
bc · cal · date · info · lp · history
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap