az egyik neves kereső eszköz Unix-szerű rendszerek, amelyek segítségével keresni semmit, hogy ez egy fájl, vagy egy sor vagy több sor fájl grep utility. Ez nagyon hatalmas a funkcionalitás, amely annak tulajdonítható, hogy a nagy számú lehetőség támogatja, mint például: keresés segítségével string minta, vagy reg-ex minta vagy perl alapú reg-ex stb.

a különböző funkciói miatt számos változata van, beleértve grep, egrep (kiterjesztett grep), fgrep (rögzített grep), pgrep (folyamat grep), rgrep (rekurzív grep) stb. De ezeknek a változatoknak kisebb különbségeik vannak az eredeti grep-hez képest, ami népszerűvé tette őket, és a különböző Linux programozók bizonyos feladatokhoz használják őket.
a legfontosabb dolog, amit még meg kell vizsgálni, hogy mi a különbség a három fő változat között, azaz a grep ‘grep’, ‘egrep’ és ‘fgrep’ között, ami miatt a Linux felhasználók az egyik vagy a másik verziót választják a követelménynek megfelelően.
A grep néhány speciális Meta-karaktere
-
+
– egyenértékű az előző karakter egy vagy több előfordulásával. -
?
– ez az előző karakter majdnem 1 ismétlését jelöli. Mint:a?
megfelelne az ” A “vagy az” aa ” – nak. -
(
– A váltakozó kifejezés kezdete. -
)
– a váltakozási kifejezés vége. -
|
– A'|'
által elválasztott kifejezés bármelyikének illesztése. Mint:"(a|b)cde”
az “abcde” vagy a “bbcde”. -
{
– ez a meta-karakter a tartománymeghatározó kezdetét jelzi. Mint:"a{2}”
megegyezik az “aa” fájlban, azaz a 2-szer. -
}
– ez a meta-karakter a tartomány végét jelzi.
A grep, az egrep és az fgrep közötti különbségek
a grep, az egrep és az fgrep közötti főbb különbségek az alábbiak szerint emelhetők ki. Ehhez a példakészlethez azt a fájlt feltételezzük, amelyen a műveletet végrehajtják:

Grep parancs
a grep vagy a globális reguláris kifejezés nyomtatása a fő keresési program Unix-szerű rendszereken amely bármilyen típusú karakterláncot kereshet bármilyen fájlban vagy fájllistában, vagy akár bármilyen parancs kimenetén.
javasolt olvasmány: 12 gyakorlati példa a Linux grep parancsra
a normál karakterláncokon kívül alapvető reguláris kifejezéseket használ Keresési mintaként. Alap reguláris kifejezések (BRE), meta-karakterek, mint: '{','}'
'(',')'
'|'
'+'
'?'
javasolt olvasmány: 11 Advance’ Grep ‘ parancsok Karakterosztályokra és zárójel kifejezésekre
a grep Boyer-Moore algoritmust is használ Bármely karakterlánc vagy reguláris kifejezés gyors keresésére.
$ grep -C 0 '(f|g)ile' check_file$ grep -C 0 '\(f\|g\)ile' check_file

Like here, when the command is run without escaping '(' ')'
and '|'
then it searched for the complete string i.e. "(f|g)ile”
in the file. De amikor a speciális karakterek megszöktek, akkor ahelyett, hogy a karakterlánc részeként kezelte volna őket, grep meta-karakterként kezelte őket, és a "file”
vagy "gile”
szavakat kereste a fájlban.
Egrep parancs
az Egrep vagy a grep-e a grep vagy a kiterjesztett grep egy másik változata. A grep ezen verziója hatékony és gyors, amikor reguláris kifejezési mintát keres, mivel a meta-karaktereket úgy kezeli, ahogy van, és nem helyettesíti őket karakterláncként, mint a grep-ben, és így megszabadul a menekülés terhétől, mint a grep-ben. Használja ERE vagy a kiterjesztett reguláris kifejezés készlet.
az egrep esetében, még akkor is, ha nem kerüljük el a meta-karaktereket, speciális karakterként kezelné őket, és helyettesítené őket a különleges jelentésükkel, ahelyett, hogy a karakterlánc részeként kezelné őket.
$ egrep -C 0 '(f|g)ile' check_file$ egrep -C 0 '\(f\|g\)ile' check_file

mint itt, egrep keresett "file”
karakterlánc, amikor a meta-karakterek nem kerülték el, mivel ez azt jelenti, értelmében ezeket a karaktereket. De amikor ezek a karakterek megszöktek, akkor az egrep a string részeként kezelte őket, és a fájlban a "(f|g)ile”
teljes karakterláncot kereste.
fgrep parancs
az Fgrep vagy a rögzített grep vagy grep-F a grep egy másik változata, amely gyorsan keres, amikor a teljes karakterláncot keresi a reguláris kifejezés helyett, mivel nem ismeri fel a reguláris kifejezéseket, sem meta-karaktereket. Bármely közvetlen karakterlánc kereséséhez ez a grep verziója, amelyet ki kell választani.
az Fgrep teljes karakterláncot keres, és még a speciális karaktereket sem ismeri fel a reguláris kifejezés részeként, még akkor sem, ha megszökött vagy nem menekült el.
$ fgrep -C 0 '(f|g)ile' check_file$ fgrep -C 0 '\(f\|g\)ile' check_file

mint, amikor a meta-karakterek nem menekültek el, az fgrep a fájlban a "(f|g)ile”
teljes karakterláncot kereste, és amikor a meta-karakterek megszöktek, akkor az fgrep parancs a "\(f\|g\)ile”
minden karaktert keresett a fájlban.
már ismertettünk néhány gyakorlati példát a grep parancsról, itt olvashatja el őket, ha többet szeretne kihozni a grep parancsból Linuxban.
Tanulj meg 12 gyakorlati példát a Linux grep parancsra
következtetés
fent kiemelve a ‘grep’, ‘egrep’ és ‘fgrep’közötti különbségeket. A használt reguláris kifejezések halmazának különbségén és a végrehajtás sebességén kívül a rest parancssori paraméterek változatlanok maradnak a grep mindhárom változatánál, és még az “egrep” vagy “fgrep”, “grep-E” vagy “grep-F” helyett is ajánlott használni.