Név

grep, egrep, fgrep – print lines matching a pattern

Synopsis

grep PATTERN
grep

Description

grep a megnevezett input FILE-okban (vagy a standard inputban, ha nincs megnevezett fájl, vagy ha egyetlen kötőjel-mínusz (-) van megadva fájlnévként)a megadott PATTERN-nek megfelelő sorok után. Alapértelmezés szerint a grep kiírja a megfelelő sorokat.

Ezeken kívül két programváltozat, az egrep és az fgrep is rendelkezésre áll. egrep megegyezik a grep -E-vel. fgrep megegyezik a grep -F-fel. A közvetlen meghívás egrep vagy fgrep néven elavult, de azért van megadva, hogy a rájuk támaszkodó történelmi alkalmazások változatlanul futhassanak.

Options

Generic Program Information

–help

Kiír egy használati üzenetet, amely röviden összefoglalja ezeket a parancssori opciókat és a hibabejelentő címet, majd kilép.

-V, –version A grep verziószámát a standard kimeneti folyamra nyomtatja. Ezt a verziószámot minden hibajelentésnek tartalmaznia kell (lásd alább).

Matcher Selection

-E, –extended-regexp A PATTERN-t kiterjesztett reguláris kifejezésként (ERE, lásd alább) értelmezi. (A -E-t a POSIX határozza meg.) -F, –fixed-strings A PATTERN-t újsorral elválasztott fix karakterláncok listájaként értelmezzük, amelyek közül bármelyik illeszthető. (A -F-et a POSIX határozza meg.) -G, –basic-regexp A PATTERN-t alapvető reguláris kifejezésként (BRE, lásd alább) értelmezi. Ez az alapértelmezett. -P, –perl-regexp A PATTERN-t Perl reguláris kifejezésként értelmezi. Ez erősen kísérleti jellegű, és a grep -P figyelmeztethet a nem implementált tulajdonságokra.

Matching Control

-e PATTERN, –regexp=PATTERN A PATTERN-t használja mintaként. Ez használható több keresési minta megadására, vagy egy kötőjellel (-) kezdődő minta védelmére (-e a POSIX által meghatározott .) -f FILE, –file=FILE A FILE-ból szerezzen be mintákat, soronként egyet. Az üres fájl nulla mintát tartalmaz, ezért nem talál semmit. (A -f-et a POSIX határozza meg.) -i, –ignore-case A PATTERN-ben és a bemeneti fájlokban lévő nagy- és kisbetűs megkülönböztetések figyelmen kívül hagyása. (A -i-t a POSIX határozza meg.) -v, –invert-match Megfordítja a megfeleltetés értelmét a nem megfelelő sorok kiválasztásához. (A -v-t a POSIX határozza meg.) -w, –word-regexp Csak azokat a sorokat választja ki, amelyek egész szavakat alkotó egyezéseket tartalmaznak. A teszt az, hogy a megfelelő részláncnak vagy a sor elején kell lennie, vagy egy nem szóösszetevő karakternek kell megelőznie. Hasonlóképpen, vagy a sor végén kell állnia, vagy egy nem szóösszetevő karakternek kell követnie.Szóösszetevő karakterek a betűk, számjegyek és az aláhúzás. -x, –line-regexp Csak azokat a találatokat választja ki, amelyek pontosan megfelelnek az egész sornak. (A -x-et a POSIX határozza meg.) -y

A -i elavult szinonimája.

Általános kimeneti vezérlés

-c, –count Elnyomja a normál kimenetet; helyette kiírja az egyező sorok számát minden egyes bemeneti fájlhoz. A -v, –invert-match opcióval (lásd alább), a nem illeszkedő sorok megszámlálása. (A -c-t a POSIX határozza meg.) –color, –colour A megfelelő (nem üres) karakterláncokat, a megfelelő sorokat, a kontextus sorokat, a fájlneveket, a sorszámokat, a bájteltolásokat és az elválasztókat (a mezők és a kontextus sorok csoportjai esetében) escape szekvenciákkal veszi körül, hogy a terminálon színesben jelenítse meg őket. A színeket a GREP_COLORS környezeti változó határozza meg. Adeprecated környezeti változó GREP_COLOR továbbra is támogatott, de beállítása nem élvez prioritást. WHEN a never, always, vagyauto. -L, –files-without-match Elnyomja a normál kimenetet; ehelyett kiírja minden olyan bemeneti fájl nevét, amelyből normális esetben nem lenne kimenet. A beolvasás az első találatnál leáll. -l, –files-with-matches A normál kimenet elnyomása; ehelyett kiírja minden olyan bemeneti fájl nevét, amelyből a kimenet normális esetben ki lett volna nyomtatva. A beolvasás az első találatnál leáll. (A -l-t a POSIX határozza meg.) -m NUM, –max-count=NUM A fájl beolvasásának leállítása NUM egyező sor után. Ha a bemenet egy normál fájlból származó szabványos bemenet, és NUM megfelelő sor kerül kiadásra, a grep biztosítja, hogy a szabványos bemenet a kilépés előtt az utolsó megfelelő sor utánra kerüljön, függetlenül a hátul lévő contextline-ok jelenlététől. Ez lehetővé teszi a hívó folyamat számára a keresés folytatását. Ha a grep a NUM egyező sor után megáll, akkor minden hátramaradt kontextusvonalat kiad. Ha a -c vagy –count opciót is használjuk, a grep nem ad ki NUM-nál nagyobb számot. Ha a -v vagy –invert-matchopciót is használjuk, a grep leáll NUM nem egyező sor kiadása után. -o, –only-matching A megfelelő sornak csak a megfelelő (nem üres) részeit írja ki, minden ilyen részt külön sorban. -q, –quiet, –silent Csend; nem ír semmit a standard kimenetre. Azonnali kilépés nulla státusszal, ha bármilyen egyezést talál, még akkor is, ha hibát észlelt. Lásd még a-s vagy –no-messages opciót. (A -q opciót a POSIX határozza meg.) -s, –no-messages A nem létező vagy nem olvasható fájlokra vonatkozó hibaüzenetek elnyomása. Hordozhatósági megjegyzés: a GNU grep-től eltérően a 7. kiadású Unix grep nem felelt meg a POSIX-nak, mivel nem tartalmazta a -q opciót, és az -s opciója úgy viselkedett, mint a GNU grep -q opciója.Az USG -style grep szintén nem tartalmazta a -q opciót, de az -s opciója úgy viselkedett, mint a GNU grep. A hordozható shell szkripteknek kerülniük kell mind a -q, mind az -s opciót, és helyette a standard és hibakimenetet a /dev/null-ra kell átirányítaniuk. (Az -s-t a POSIX határozza meg.)

Output Line Prefix Control

-b, –byte-offset A bemeneti fájlon belüli 0-alapú byte-eltolás kiírása minden kimeneti sor előtt. Ha -o (–only-matching) van megadva, akkor magának az illeszkedő résznek az eltolását írja ki. -H, –with-filename Minden egyes találathoz kiírja a fájlnevet. Ez az alapértelmezett, ha egynél több keresendő fájl van. -h, –no-filename Elnyomja a fájlnevek előtagozását a kimeneten. Ez az alapértelmezett beállítás, ha csak egy fájlt (vagy csak szabványos bemenetet) kell keresni. –label=LABEL A szabványos bemenetről származó bemenetet a LABEL fájlból származó bemenetként jeleníti meg. Ez különösen hasznos, ha olyan eszközöket használunk, mint akezgrep, pl. gzip -cd foo.gz | grep –label=foo -H valami. Lásd még a -H opciót. -n, –line-number A kimenet minden sorát a bemeneti fájlon belüli 1 alapú sorszámmal jelöli. (A -n-t a POSIX határozza meg.) -T, –initial-tab Győződjön meg róla, hogy a sor tényleges tartalmának első karaktere egy tabulátor-megállóra esik, hogy a tabulátorok igazítása normálisnak tűnjön. Ez olyan opciók esetén hasznos, amelyek a kimenetüket a tényleges tartalomhoz igazítják: -H,-n és -b. Annak érdekében, hogy növelje annak valószínűségét, hogy egy fájlból származó sorok mindegyike ugyanabban az oszlopban kezdődjön, ez azt is eredményezi, hogy a sorszám és a bájteltolódás (ha van) minimális méretű mezőszélességben kerüljön kiírásra. -u, –unix-byte-offsets Unix-stílusú bájteltolások jelentése. Ez a kapcsoló azt eredményezi, hogy a grep úgy adja meg a bájteltolásokat, mintha a fájl egy Unix-stílusú szöveges fájl lenne, azaz a CR karakterek kihúzásával. Ez az eredmény megegyezik a grep Unix gépen történő futtatásával. Ennek az opciónak nincs hatása, hacsak nem használjuk a -b opciót is; nincs hatása az MS-DOS és MS -Windows platformokon kívül. -Z, –null Egy nulla bájtot (az ASCII NUL karaktert) ad ki a fájlnevet általában követő karakter helyett. Például a grep -lZ minden fájlnév után egy nulla bájtot ad ki a szokásos újsor helyett. Ez az opció egyértelművé teszi a kimenetet, még akkor is, ha a fájlnevek szokatlan karaktereket, például újsorokat tartalmaznak. Ez az opció olyan parancsokkal használható, mint a find -print0, perl -0, sort -z és xargs -0, tetszőleges fájlnevek feldolgozására, még az újsor karaktereket tartalmazó fájlnevek feldolgozására is.

Context Line Control

-A NUM, –after-context=NUM A megfelelő sorok után NUM sornyi hátralévő kontextust nyomtat ki. Csoportelválasztót (–) tartalmazó sort helyez az egybefüggő találati csoportok közé. A -o vagy –only-matching opcióval ennek nincs hatása, és figyelmeztetést ad. -B NUM, –before-context=NUM NUM sornyi vezető kontextust nyomtat ki a megfelelő sorok előtt. Csoportelválasztót (–) tartalmazó sort helyez az egybefüggő találati csoportok közé. A -o vagy –only-matching opcióval ennek nincs hatása, és figyelmeztetést ad. -C NUM, -NUM, –context=NUM NUM sornyi kimeneti kontextust nyomtat ki. Csoportelválasztót (–) tartalmazó sort helyez az egybefüggő találati csoportok közé. A -o vagy–only-matching opcióval ennek nincs hatása, és figyelmeztetést ad.

Fájl- és könyvtárkiválasztás

-a, –text Egy bináris fájlt úgy dolgoz fel, mintha szöveg lenne; ez egyenértékű a –binary-files=text opcióval. –binary-files=TYPE Ha egy fájl első néhány bájtja azt jelzi, hogy a fájl bináris adatokat tartalmaz, feltételezzük, hogy a fájl TYPE típusú. Alapértelmezés szerint a TYPE bináris, és a grep általában vagy egy egysoros üzenetet ad ki arról, hogy a bináris fájl egyezik, vagy nem ad ki üzenetet, ha nincs egyezés. Ha a TYPEis without-match, a grep feltételezi, hogy a bináris fájl nem egyezik; ez egyenértékű a -I kapcsolóval. Ha a TYPE szöveg, a grep a bináris fájlt úgy dolgozza fel, mintha szöveg lenne; ez a -a opcióval egyenértékű. Figyelmeztetés: A grep –binary-files=text opció bináris szemetet adhat ki, aminek kellemetlen mellékhatásai lehetnek, ha a kimenet egy terminál, és ha a terminál vezérlő néhányat parancsként értelmez. -D ACTION, –devices=ACTION Ha a bemeneti fájl egy eszköz, FIFO vagy socket, használjuk az ACTION-t a feldolgozásához. Alapértelmezés szerint az ACTION read, ami azt jelenti, hogy az eszközök beolvasása úgy történik, mintha közönséges fájlok lennének. Ha az ACTION értéke skip, akkor az eszközök némán kihagyásra kerülnek. -d ACTION, –directories=ACTION Ha a bemeneti fájl egy könyvtár, használjuk az ACTION-t a feldolgozásához. Alapértelmezés szerint az ACTION read, ami azt jelenti, hogy a könyvtárakat ugyanúgy olvassa be, mintha közönséges fájlok lennének. Ha ACTION a skip, akkor a könyvtárak némán kihagyásra kerülnek. Ha ACTION a recurse, a grep minden könyvtár alatt rekurzívan beolvassa az összes fájlt; ez egyenértékű a -r kapcsolóval. –exclude=GLOB Kihagyja azokat a fájlokat, amelyek alapneve megegyezik a GLOB-gal (vadkeresztes megfeleltetéssel). A fájlnév glob használhatja a *, ?, és mint jokereket,és \ a joker vagy backslash karaktert szó szerint idézi. –exclude-from=FILE Kihagyja azokat a fájlokat, amelyek alapneve megegyezik a FILE-ból beolvasott fájlnév gömbök bármelyikével (a –exclude alatt leírt vadkártyaillesztést használva). –exclude-dir=DIR A DIR mintának megfelelő könyvtárak kizárása a rekurzív keresésből. -I

Bináris fájl feldolgozása úgy, mintha nem tartalmazna megfelelő adatokat; ez egyenértékű a –binary-files=without-match opcióval.

–include=GLOB Csak olyan fájlokat keres, amelyek alapneve megegyezik a GLOB-gal (a –exclude alatt leírtak szerinti vadkeretes megfeleltetéssel). -R, -r, –recursive Minden könyvtár alatti összes fájl beolvasása rekurzívan; ez megegyezik a -d recurse opcióval.

Egyéb beállítások

–line-buffered A kimeneten sorpufferelést használ. Ez teljesítménycsökkenést okozhat. –mmap

Ha lehetséges, használja az mmap(2) rendszerhívást a bemenet beolvasásához az alapértelmezett read(2) rendszerhívás helyett. Bizonyos helyzetekben a –mmap jobb teljesítményt nyújt. A –mmap azonban meghatározatlan viselkedést okozhat (beleértve a core dumps-ot), ha egy bemeneti fájl zsugorodik a grep működése közben, vagy ha egy I/O hiba lép fel.

-U, –binary A fájl(oka)t binárisként kezelje. Alapértelmezés szerint MS-DOS és MS -Windows alatt a grep a fájl típusát a fájlból beolvasott első 32KB tartalmának megnézésével találja ki. Ha a grep úgy dönt, hogy a fájl szöveges fájl, akkor eltávolítja a CR karaktereket az eredeti fájl tartalmából (hogy a ^ és $ karaktereket tartalmazó reguláris kifejezések helyesen működjenek). A -U megadása felülbírálja ezt a találgatást, így az összes fájlt beolvassa és szó szerint átadja a megfeleltetési mechanizmusnak; ha a fájl szöveges fájl, és minden sor végén CR/LF párok vannak, ez néhány reguláris kifejezés sikertelenségét okozza. Ennek az opciónak nincs hatása az MS-DOS és MS -Windows platformokon kívül. -z, –null-data A bemenetet sorok halmazaként kezeli, amelyek mindegyikét újsor helyett nulla bájt (az ASCII NUL karakter) zárja le. A -Z vagy –null opcióhoz hasonlóan ez az opció is használható olyan parancsokkal, mint a sort -z, tetszőleges fájlnevek feldolgozására.

Reguláris kifejezések

A reguláris kifejezés olyan minta, amely karakterláncok halmazát írja le. A reguláris kifejezések az aritmetikai kifejezésekhez hasonlóan épülnek fel, különböző operátorok használatával kisebb kifejezések kombinálásához.

Agrep a reguláris kifejezések szintaxisának három különböző változatát érti: “basic”, “extended” és “perl”. A GNU grep-ben nincs különbség a rendelkezésre álló funkcionalitásban az alap és a kiterjesztett szintaxis között. Más implementációkban az alap reguláris kifejezések kevésbé hatékonyak. Az alábbi leírás a kiterjesztett reguláris kifejezésekre vonatkozik; az alapvető reguláris kifejezésekkel kapcsolatos különbségeket ezután foglaljuk össze. A Perl reguláris kifejezések további funkciókat biztosítanak, és a pcresyntax(3) és a pcrepattern(3) dokumentálja őket, de nem biztos, hogy minden rendszeren elérhetőek.

Az alapvető építőelemek az egyetlen karakterre illeszkedő reguláris kifejezések. A legtöbb karakter, beleértve az összes betűt és számjegyet, olyan reguláris kifejezések, amelyek önmagukra illeszkednek. Minden speciális jelentéssel rendelkező metakarakter idézhető, ha egy backslash előzi meg.

A pont . bármely egyetlen karakterre illeszkedik.

Karakterosztályok és zárójeles kifejezések

A zárójeles kifejezés a karakterek listája, amelyet . A lista bármelyik karakterére illik; ha a lista első karaktere a ^ pont, akkor a listában nem szereplő bármelyik karakterre illik. Például a reguláris kifejezés bármely számjegyre illik.

A zárójeles kifejezésen belül a tartománykifejezés két, kötőjellel elválasztott karakterből áll. Minden olyan karakterrel megegyezik, amely a két karakter között helyezkedik el, beleértve a két karaktert is, a helyi karakterkészlet és a karakterkészlet egyeztetési sorrendje alapján. Például az alapértelmezett C nyelvterületen a következővel egyenértékű. Sok helyi rendszer a karaktereket szótári sorrendbe rendezi, és ezekben a helyi rendszerekben általában nem egyenértékű a , hanem például egyenértékű lehet a következőkkel. A zárójeles kifejezések hagyományos értelmezésének eléréséhez használhatja a C locale-t, ha azLC_ALL környezeti változót a C.

értékre állítja.

A zárójeles kifejezésekben a karakterek bizonyos megnevezett osztályai előre definiáltak, a következők szerint. Nevük magától értetődő, és ezek a következők: , , , , , , , , , , , , , , és . Például a ] azt jelenti, hogy , kivéve, hogy az utóbbi forma a Clocale-tól és az ASCII karakterkódolástól függ, míg az előbbi független a locale-tól és a karakterkészlettől. (Vegyük észre, hogy a zárójelek ezekben az osztálynevekben a szimbolikus nevek részét képezik, és a zárójeles kifejezést határoló zárójeleken kívül is szerepelniük kell). A legtöbb metakarakter elveszíti különleges jelentését a zárójeles kifejezéseken belül. Egy szóvégi ] beillesztéséhez helyezze azt a lista elejére. Hasonlóképpen, ha egy ^ betűjelet akarunk felvenni, tegyük bárhová, de ne az első helyre. Végül, ha egy szó szerinti – karaktert akarunk felvenni, akkor az utolsó helyre tegyük.

Anchoring

A ^ pont és a $ dollárjel olyan metakarakterek, amelyek a sor elején és végén lévő üres karakterlánccal egyeznek meg.

A Backslash karakter és speciális kifejezések

A \< és \> szimbólumok a szó elején és végén lévő üres karakterláncot jelölik. A \b szimbólum megfelel az üres karakterláncnak egy szó szélén, és a \B megfelel az üres karakterláncnak, feltéve, hogy az nem egy szó szélén van. A \w szimbólum a] szinonimája, az \W pedig a ] szinonimája.

Megismétlés

A reguláris kifejezést számos ismétlési operátor egyike követheti: ?

Az előző elem opcionális, és legfeljebb egyszer illeszkedik.

*

Az előző elem nulla vagy több alkalommal illeszkedik.

+

Az előző elem egy vagy több alkalommal illeszkedik.

{n}

Az előző elem pontosan n-szer illeszkedik.

{n,}

Az előző elem n vagy többször illeszkedik.

{,m}

Az előző elem legfeljebb m-szer illeszkedik.

{n,m}

Az előző elem legalább n-szer, de legfeljebb m-szer illeszkedik.

Konkatenáció

Két reguláris kifejezést össze lehet kapcsolni; az így kapott reguláris kifejezés illeszkedik bármely olyan stringhez, amely két olyan részlánc összefűzésével jön létre, amelyek illeszkednek az összefűzött kifejezésekhez.

Alternáció

Két reguláris kifejezés összekapcsolható a | infix operátorral; az eredményül kapott reguláris kifejezés megfelel bármelyik alternatív kifejezésnek megfelelő karakterláncnak.

Előbbség

Az ismétlés elsőbbséget élvez a láncolással szemben, ami viszont elsőbbséget élvez a váltakozással szemben. Egy teljes kifejezés zárójelbe zárható, hogy felülbírálja ezeket az elsőbbségi szabályokat, és alkifejezést képezzen.

Hátulreferenciák és részkifejezések

A \n hátulreferencia, ahol n egy számjegy, a reguláris kifejezés n-edik zárójeles részkifejezése által korábban illesztett részláncra illeszkedik.

Basic vs. Extended Regular Expressions

Az alapvető reguláris kifejezésekben a ?, +, {, |, (, és ) metakarakterek elveszítik speciális jelentésüket; ehelyett a visszaléptetett \?, \+, \{, \|, \(, és \) változatokat használjuk.

A hagyományos egrep nem támogatta a { meta-karaktert, és néhány egrep implementáció támogatja helyette az \{-t, ezért a hordozható szkripteknek kerülniük kell az {-t a grep -E mintákban, és a szó szerinti {-t kell használniuk.

GNU grep -E megpróbálja támogatni a hagyományos használatot, feltételezve, hogy az { nem különleges, ha egy érvénytelen intervallum specifikáció kezdete lenne. Például a grep -E ‘{1’ parancs a kétkarakteres {1 karakterláncot keresi ahelyett, hogy szintaktikai hibát jelezne a szabályos kifejezésben. A POSIX.2 ezt a viselkedést kiterjesztésként megengedi, de a hordozható szkripteknek kerülniük kell.

Környezeti változók

A grep viselkedését a következő környezeti változók befolyásolják.

Az LC_foo kategória nyelvjárását az LC_ALL, LC_foo, LANG három környezeti változó vizsgálata határozza meg, ebben a sorrendben. A változók közül az elsőként beállított változók határozzák meg a nyelvjárást. Ha például az LC_ALL nincs beállítva, de az LC_MESSAGES értéke apt_BR, akkor az LC_MESSAGES kategóriához a brazil portugál nyelvterületet használjuk. A C nyelvterületet használjuk, ha egyik környezeti változó sincs beállítva, ha a nyelvterület-katalógus nincs telepítve, vagy ha a grep nem nemzeti nyelvi támogatással ( NLS ) lett fordítva.

GREP_OPTIONS Ez a változó adja meg a kifejezett opciók elé helyezendő alapértelmezett opciókat. Ha például a GREP_OPTIONS értéke’–binary-files=without-match –directories=skip’, a grep úgy viselkedik, mintha a két opciót –binary-files=without-match és–directories=skip bármely explicit opció előtt adtuk volna meg. Az opciókat szóköz választja el egymástól. A backslash megszünteti a következő karaktert, így használható szóközöket vagy backslash-t tartalmazó opció megadására. GREP_COLOR Ez a változó a megfelelő (nem üres) szöveg kiemelésére használt színt adja meg. A GREP_COLORS javára elavult, de továbbra is támogatott. A GREP_COLORS Themt, ms és mc képességei elsőbbséget élveznek vele szemben. Csak az illeszkedő nem üres szöveg kiemelésére használt színt adhatja meg bármely illeszkedő sorban (egy kiválasztott sorban, ha a -v parancssori opciót elhagyjuk, vagy egy kontextus sorban, ha a -v opciót megadjuk). Az alapértelmezett 01;31, ami a terminál alapértelmezett hátterén félkövér piros előtérszínt jelent. GREP_COLORS Megadja a kimenet különböző részeinek kiemelésére használt színeket és egyéb attribútumokat. Értéke egy kettősponttal elválasztott listája a képességeknek, amely alapértelmezés szerint ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 az rv és ne boolean képességek elhagyásával (azaz false). A támogatott képességek a következők. sl=

SGR részlánc a teljes kiválasztott sorokhoz (azaz a megfelelő sorokhoz, ha a -v parancssori opciót elhagyjuk, vagy a nem megfelelő sorokhoz, ha a -v opciót megadjuk). Ha azonban a boolean rv képesség és a -v parancssori opció is meg van adva, akkor a kontextusnak megfelelő sorokra vonatkozik helyette.Az alapértelmezett érték üres (azaz a terminál alapértelmezett színpárja).

cx=

SGR részlánc a teljes kontextusú sorokra (azaz a nem illeszkedő sorokra, ha a -v parancssori opció elmarad, vagy az illeszkedő sorokra, ha a -v opció meg van adva). Ha azonban a boolean rv képesség és a -v parancssori opció is meg van adva, akkor a kiválasztott nem illeszkedő sorokra vonatkozik. Az alapértelmezett érték üres (azaz a terminál alapértelmezett színpárja).

rv

Boolean érték, amely megfordítja (felcseréli) az sl= és cx= képességek jelentését, ha a -v parancssori opció van megadva. Az alapértelmezett érték false (azaz a képesség elhagyható).

mt=01;31

SGR részlánc a nem üres szöveg illesztéséhez bármely illeszkedő sorban (azaz egy kijelölt sorban, ha a -v parancssori opciót elhagyjuk, vagy egy kontextus sorban, ha a -v opciót megadjuk). Ennek beállítása egyenértékű az ms= és az mc= egyszerre történő beállításával. Az alapértelmezett egy félkövér piros szövegelőtér az aktuális sor háttere felett.

ms=01;31

SGR részlánc a kijelölt sorban lévő nem üres szöveg illesztéséhez. (Ez csak akkor használatos, ha a -v parancssori opciót elhagyjuk.) A thesl= (vagy cx= ha rv) képesség hatása aktív marad, amikor ez bekapcsolódik. Az alapértelmezett egy félkövér piros szövegelőtér az aktuális sorháttér felett.

mc=01;31

SGR részlánc a nem üres szöveg illesztéséhez egy kontextus sorban. (Ez csak akkor használatos, ha a -v parancssori opció van megadva.) Acx= (vagy sl= ha rv) képesség hatása aktív marad, amikor ez bekapcsol. Az alapértelmezés szerint az aktuális sorháttér fölött félkövér piros szövegelőtér jelenik meg.

fn=35

SGR részsor bármely tartalmi sor előtt álló fájlnevekhez. Az alapértelmezett egy magenta színű szöveges előtér a terminál alapértelmezett háttere felett.

ln=32

SGR részlánc bármely tartalmi sor előtt álló sorszámokhoz. Az alapértelmezett egy zöld szöveges előtér a terminál alapértelmezett háttere felett.

bn=32

SGR részlánc a bármely tartalmi sor előtt álló bájteltávolításokhoz. Az alapértelmezett egy zöld szöveges előtér a terminál alapértelmezett háttere felett.

se=36

SGR részlánc a kijelölt sormezők (:), a kontextus sormezők közé, (-) és a szomszédos sorok csoportjai közé beillesztett elválasztókhoz, ha nem nulla kontextus van megadva (–). Az alapértelmezett a terminál alapértelmezett háttere fölötti ciánszínű szövegelőtér.

ne

Boolean érték, amely megakadályozza a sor végéig történő törlést a soron belüli törlés (EL) jobbra (\33) használatával. LC_ALL, LC_CTYPE, LANG Ezek a változók adják meg az LC_CTYPE kategória locale-ját, amely meghatározza a karakterek típusát, pl. hogy mely karakterek számítanak szóköznek. LC_ALL, LC_MESSAGES, LANG Ezek a változók az LC_MESSAGES kategória nyelvét adják meg, amely meghatározza a grep által az üzenetekhez használt nyelvet. Az alapértelmezett Clocale az amerikai angol nyelvű üzeneteket használja. POSIXLY_CORRECT Ha be van állítva, a grep úgy viselkedik, ahogy a POSIX.2 előírja; ellenkező esetben a grep inkább más GNU programokhoz hasonlóan viselkedik.A POSIX.2 előírja, hogy a fájlneveket követő opciókat fájlnévként kell kezelni; alapértelmezés szerint az ilyen opciók azoperand lista elejére permutálódnak és opcióként kezelendők. A POSIX.2 azt is megköveteli, hogy az el nem ismert opciókat “illegálisnak” diagnosztizálják, de mivel ezek nem igazán törvénysértőek, az alapértelmezés szerint “érvénytelennek” diagnosztizálják őket. A POSIXLY_CORRECT kikapcsolja az alább ismertetett _N_GNU_nonoption_argv_flags_ot is. _N_GNU_nonoption_argv_flags_ (Itt N a grep numerikus folyamatazonosítója.) Ha ennek a környezeti változónak az i-edik karaktere 1, akkor a grep-nek az i-edik operandusát ne tekintsük opciónak, még akkor sem, ha annak tűnik. A shell minden egyes futtatott parancshoz elhelyezheti ezt a változót a környezetében,megadva, hogy mely operandusok a fájlnév vadkártyás kiterjesztésének eredményei, és ezért nem kezelhetők opcióként. Ez a viselkedés csak a GNU C könyvtárral érhető el, és csak akkor, ha a POSIXLY_CORRECT nincs beállítva.

Kilépési állapot

Normális esetben a kilépési állapot 0, ha a kiválasztott sorok megtalálhatók, és 1 egyébként. De a kilépési állapot 2, ha hiba történt, kivéve, ha a -q vagy–quiet vagy –silent opciót használjuk, és találtunk egy kijelölt sort. Megjegyzendő azonban, hogy a POSIX csak az olyan programoknál, mint agrep, cmp és diff, írja elő, hogy a kilépési állapot hiba esetén nagyobb legyen, mint 1; ezért a hordozhatóság érdekében célszerű olyan logikát használni, amely ezt az általános feltételt vizsgálja a 2-vel való szigorú egyenlőség helyett.

Copyright

Copyright 1998-2000, 2002, 2005-2010 Free Software Foundation, Inc.

Ez szabad szoftver; a másolási feltételeket lásd a forrásban. NEM vállalunk garanciát; még az ELADHATÓSÁGRA vagy EGY KÜLÖNLEGES CÉLRA VALÓSÁGRA sem.

Hibák

Hibajelentés

A hibajelentéseket a <[email protected]> levelezőlistára küldjük, amelynek weboldala a <http://lists.gnu.org/mailman/listinfo/bug-grep>.grep’s Savannah bug tracker található a <http://savannah.gnu.org/bugs/?group=grep> címen.

Ismert hibák

A {n,m} konstrukcióban a nagy ismétlésszámok miatt a grep sok memóriát használhat. Ezen kívül bizonyos más-más szabályos kifejezések exponenciális időt és helyet igényelnek, és a grep memóriájának elfogyását okozhatják.

A visszahivatkozások nagyon lassúak, és exponenciális időt igényelhetnek.

See Also

Reguláris kézikönyvoldalak

awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1), xargs(1), zgrep(1), mmap(2), read(2), pcre(3), pcresyntax(3), pcrepattern(3),terminfo(5), glob(7), regex(7).

POSIX Programozói kézikönyv oldal

grep(1p).

TeXinfo dokumentáció

A grep teljes dokumentációját TeXinfo kézikönyvként tartjuk fenn. Ha az info és grep programok megfelelően telepítve vannak nálad,az info grep parancs segítségével hozzáférhetsz a teljes kézikönyvhöz.

Jegyzetek

GNU ‘s nem Unix, de a Unix egy fenevad; a többes számú alakja az Unixen.

admin

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.

lg