Ugrás a tartalomhoz

grep

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen 2001:738:0:440:fd44:da1f:a518:8772 (vitalap) 2019. augusztus 2., 09:38-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól. (A -c kapcsoló a sorokat számlja nem a konkrét előfordulást: "Suppress normal output; instead print a count of matching lines for each input file.")

A grep (neve a Global | Regular Expression | Print szavak kezdőbetűiből származik) parancssorból futtatható program, melynek első verzióját a Unix operációs rendszerhez írták. A grep a paraméterként megadott fájlokra vagy a standard inputra illeszt szabályos kifejezéseket.

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

Egy jellemző példa lehet a grep felhasználására, ha 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 érzékeny a kis- és a nagybetűk közötti különbségre, idegen szóval case-sensitive. Ezt az alapértelmezett működést azonban felül lehet bírálni a -i kapcsolóval:[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 szabályos 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

További információk