Provided by:
manpages-cs_0.18.20090209-3_all 
JM'ENO
grep, egrep, fgrep - tiskne adky, ktere odpovidaji zadanemu vzoru
POUIT'I
grep [volby] VZOR [SOUBOR...]
grep [volby] [-e VZOR | -f SOUBOR] [SOUBOR...]
POPIS
Grep prohledava zadany vstup SOUBOR (nebo standardni vstup, pokud
nejsou zadany adne soubory nebo je zadan soubor -) a hleda adky
obsahujici zadany VZOR. Ve vychozim nastaveni grep vypisuje adky,
ktere vzoru odpovidaji.
Dostupne jsou navic dv varianty programu - egrep a fgrep. Chovani
programu egrep je stejne jako grep -E, chovani programu fgrep je stejne
jako grep -F.
VOLBY
-A POET, --after-context=POET
Tiskni POET adk, ktere nasleduji po platnem (odpovidajicim)
adku. Mezi souvisle platne vysledky vklada adky obsahujici --.
-a, --text
Pracuj s binarnim souborem jako by to byl text; ekvivalentni k
volb --binary-files=text.
-B POET, --before-context=POET
Tiskni POET adk ktere pedchazeji platnemu adku. Mezi souvisle
platne vysledky vklada adky obsahujici --.
-C POET, --context=POET
Tiskni POET adk ke kademu platnemu adku. Mezi souvisle platne
vysledky vklada adky obsahujici --.
-b, --byte-offset
Tiskni offset bajtu ve vstupnim souboru ped kadym adkem vystupu.
--binary-files=TYP
Jestlie podle prvnich nkolika bajt obsahuje soubor binarni data,
pedpokladej, e je typu TYP. Vychozim nastavenim TYP je binary a
grep standardn vypie bu jednoadkovou zpravu, e binarni soubor
odpovida, nebo adnou zpravu pokud neodpovida. Jestlie je TYP
without-match, grep pedpoklada, e binarni soubory neodpovidaji;
je to stejne jako volba -I. Jestlie je TYP text, grep
zpracovava binarni soubor, jako by to byl text; stejne jako
volba -a. Pozor: grep --binary-files=text me zpsobit, e se
budou vypisovat nesmyslne binarni znaky, co me mit nepijemne
vedleji uinky pokud je vystupem terminal a ovlada terminalu zane
nktere znaky interpretovat jako pikazy.
--colour[=KDY], --color[=KDY]
Obklopi platny etzec znakou z promnne prostedi GREP_COLOR. KDY
me byt `never', `always' nebo `auto'
-c, --count
Potla normalni vystup; misto toho napi poet odpovidajicich adk
pro kady vstupni soubor. S volbou -v, --invert-match (viz nie),
poitej neodpovidajici adky.
-D AKCE, --devices=AKCE
Pokud je vstupnim souborem zaizeni, FIFO nebo socket, pouij AKCI
k jeho zpracovani. Vychozim nastavenim AKCE je read, to znamena,
e zaizeni se tou jako by to byly bne soubory. Jestlie AKCE je
skip, zaizeni se mlky peskoi.
-d AKCE, --directories=AKCE
Pokud je vstupnim souborem adresa, pouij AKCI k jeho zpracovani.
Vychozim nastavenim AKCE je read, to znamena, e adresae se tou
jako by to byly bne soubory. Jestlie AKCE je skip, adresae se
mlky peskoi. Jestlie AKCE je recurse, grep te rekurzivn vechny
soubory v kadem adresai; je to stejne jako volba -r.
-E, --extended-regexp
Povauj V'YRAZ za rozieny regularni vyraz (viz nie).
-e V'YRAZ, --regexp=V'YRAZ
Jako vzor pouij V'YRAZ; uitene pro zachovani vzor zainajicich -.
-F, --fixed-strings
Povauj V'YRAZ za seznam pevnych etzc oddlenych znaky konce adku,
ze kterych me odpovidat kterykoliv. -P, --perl-regexp Povauj
V'YRAZ za regularni vyraz Perlu.
-f SOUBOR, --file=SOUBOR
Nate vzory ze souboru SOUBOR, na kadem adku jeden. Prazdny
soubor obsahuje nula vzor a tedy neodpovida niemu.
-G, --basic-regexp
Povauj V'YRAZ za zakladni regularni vyraz (viz nie). Toto je
vychozi nastaveni.
-H, --with-filename
Tiskni jmeno souboru pro kadou shodu.
-h, --no-filename
Potla vkladani jmen soubor do vystupu pi prohledavani vice
soubor.
--help Vytiskni strunou napovdu.
-I Zpracuj binarni soubor jako by neobsahoval shody; to je stejne
jako volba --binary-files=without-match.
-i, --ignore-case
Nerozliuj velka a mala pismena ve V'YRAZU ani ve vstupnich
souborech.
-L, --files-without-match
Potla normalni vystup; misto toho tiskni jmeno kadeho souboru,
ze ktereho by se jinak adny vystup netiskl. Prohledavani skoni s
prvni shodou.
-l, --files-with-matches
Potla normalni vystup; misto toho tiskni jmeno kadeho souboru,
ze ktereho by se jinak tiskl njaky vystup. Prohledavani skoni s
prvni shodou.
-m POET, --max-count=POET
Pesta ist soubor po dosaeni POTU odpovidajicich adk. Je-li
vstupem standardni vstup z obyejneho souboru, a je vytitno POET
odpovidajicich adk, grep zajisti, e standardni vstup bude ped
ukonenim nastaven prav po poslednim odpovidajicim adku, bez
ohledu na pitomnost nasledujicich adk kontextu. Tak je mone,
aby volajici proces hledani obnovil. Kdy grep po dosaeni POTU
odpovidajicich adk zastavi, vypie adky kontextu, ktere
nasleduji. Pokud je zarove pouita volba -c nebo --count,
program grep nevypie vice shod ne je POET. Pokud je zarove
pouita volba -v nebo --invert-match program, grep skoni po
vypsani POTU neodpovidajicich adk.
--mmap Pokud je to mone, pouij systemove volani mmap(2) ke teni
vstupnich dat, misto vychoziho read(2). V nkterych pipadech me
--mmap zlepit vykon. Na druhou stranu --mmap me zpsobit
nedefinovane chovani (vetn core dump), jestlie se vstupni soubor
za bhu programu grep zmeni nebo pokud nastane chyba
vstupu/vystupu.
-n, --line-number
Ped kady adek vystupu pidej jeho islo v pislunem vstupnim
souboru.
-o, --only-matching
Vypisuj jen tu ast odpovidajiciho adku, ktera je odpovida VZORU.
--label=LABEL
Zobrazuj vstup pochazejici ze standardniho vstupu jakoby
pochazel ze souboru LABEL. To je zvlat uitene pro nastroje jako
je zgrep, nap. gzip -cd foo.gz |grep --label=foo nco
--line-buffering
Pouij line buffering, me negativn ovlivnit vykon.
-q, --quiet, --silent
Tie; potla normalni vystup. Prohledavani skoni s prvni shodou, s
navratovou hodnotou nula, i kdy byla detekovana njaka chyba.
Viz take volba -s nebo --no-messages uvedena dale.
-R, -r, --recursive
Rekurzivn nati vechny soubory v kadem adresai; to je stejne jako
volba -d recurse.
--include=VZOR
Rekurzivn prochazej adresae, prohledavej pouze soubory
odpovidajici VZORU.
--exclude=VZOR
Rekurzivn prochazej adresae, pesko soubory odpovidajici VZORU.
-s, --no-messages
Potla chybove hlaky o neexistujicich nebo neitelnych souborech.
Poznamka o penositelnosti: na rozdil od GNU grepu, tradini grep
neodpovidal specifikaci POSIX.2, protoe neml volbu -q a jeho
volba -s se chovala jako volba -q GNU grepu. Shellove skripty
ktere maji byt penositelne na tradini grep, by se mly voleb -q a
-s vyvarovat a pesmrovat misto toho vystup do /dev/null.
-U, --binary
Pracuj se soubory jako s binarnimi. Normaln typ souboru pod
MS-DOS a MS-Windows uruje grep tak, e se podiva na prvnich 32KB
dat petenych ze souboru. Kdy grep rozhodne, e soubor je textovy,
vynecha z pvodniho obsahu znaky CR (aby nepestaly spravn
fungovat regularni vyrazy obsahujici ^ a $ ). Uvedenim volby -U
se toto pravidlo rui a vechny soubory se pedaji porovnavacimu
mechanismu doslovn. Pokud obsahuje soubor text s pary CR/LF na
koncich adk, zpsobi to, e nktere regularni vyrazy pestanou
fungovat. Tato volba nema adny uinek na platformach jinych ne
MS-DOS a MS-Windows.
-u, --unix-byte-offsets
Hlasit offsety jako v Unixu. Tento pepina zajisti, e grep bude
tisknout offsety bajt jako by soubor byl textovy soubor v Unixu,
tedy bez znak CR. To znamena, e vysledky grep budou stejne jako
v systemu Unix. Tato volba nema adny efekt bez souasneho pouiti
volby -b; take nema efekt na platformach jinych ne MS-DOS a
MS-Windows.
-V, --version
Vytiskni verzi programu grep na chybovy vystup. Verze by mla byt
uvedena ve vech hlaenich chyb (viz nie).
-v, --invert-match
Pevra vyznam shody - vyberou se adky, ktere vzoru neodpovidaji.
-w, --word-regexp
Vyber jen adky ve kterych se shoduje cele samostatne slovo.
Odpovidajici etzec musi byt bu na zaatku adku nebo mit ped sebou
znak ktery se nebere jako souast slova. Podobn musi etzec byt bu
na konci adku nebo za nim musi nasledovat znak ktery se nebere
jako souast slova. Znaky ktere se povauji za asti slov jsou
pismena, islice a podtritko.
-x, --line-regexp
Vyber jen shody zahrnujici cely adek.
-y Zastarala alternativa pro -i.
-Z, --null
Vytiskni nulovy bajt (znak ASCII NUL) misto znaku, ktery
normaln nasleduje po jmenech soubor. Napiklad grep -lZ pie
nulovy bajt po kadem nazvu souboru misto obvykleho znaku konce
adku. Tato volba zajisti jednoznanost vystupu i v pipad, e
nazvy soubor obsahuji neobvykle znaky jako znaky konce adku.
Tuto volbu lze pouit pro pikazy jako find -print0, perl -0, sort
-z a xargs -0, ke zpracovani libovolnych jmen soubor vetn tch,
ktere obsahuji znaky konce adku.
REGUL'ARN'I V'YRAZY
Regularni vyraz je vzor, ktery popisuje mnoinu etzc. Regularni vyrazy
se pii (podobn jako aritmeticke vyrazy) pomoci rznych operator, ktere
davaji dohromady meni vyrazy.
Grep zna dv rzne verze syntaxe pro regularni vyrazy: "zakladni" a
"roziene." Pro GNU grep neni v tchto dvou verzich adny rozdil co se tye
funknosti. V jinych implementacich jsou zakladni regularni vyrazy
slabi. Nasledujici popis plati pro roziene regularni vyrazy; rozdily
pro zakladni regularni vyrazy jsou uvedeny na konci.
Zakladnim stavebnim kamenem jsou regularni vyrazy, ktere odpovidaji
jedinemu znaku. Vtina znak, vetn vech pismen a islic, jsou samy o sob
regularnimi vyrazy, ktere se shoduji samy se sebou. Kterykoli metaznak
se zvlatnim vyznamem me byt uveden ve svem pvodnim vyznamu tak, e se
ped nj napie zptne lomitko.
Seznam znak v [ a ] odpovida jakemukoli jednotlivemu znaku ze seznamu;
kdy je prvnim znakem seznamu stika ^, potom seznam odpovida jakemukoli
znaku ktery v seznamu nen'i. Napiklad regularni vyraz [0123456789]
odpovida jedne libovolne islici.
Rozsah znak lze specifikovat prvnim a poslednim znakem, oddlenymi
pomlkou. Odpovida jednomu znaku, ktery je mezi uvedenymi dvma znaky
vetn, za pouiti azeni a znakove sady podle locale. Nap. ve vychozim
locale C je [a-d] ekvivalentni zapisu [abcd]. V mnoha locale jsou
znaky tidny slovnikov a typicky v nich [a-d] neni ekvivalentni [abcd];
me byt nap. ekvivalentni [aBbCcDd]. Pro pouiti tradini interpretace
tchto vyraz je mone pouit C locale nastavenim promnne prostedi LC_ALL
na hodnotu C.
Jsou take pednastaveny nktere skupiny znak: [:alnum:], [:alpha:],
[:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:],
[:space:], [:upper:] a [:xdigit:] jsou postupn pismena a islice,
pismena, kontrolni znaky, islice, obrazkove znaky, mala pismena,
tisknutelne znaky, interpunkni znamenka, mezery, velka pismena a islice
estnactkove soustavy. Napiklad [[:alnum:]] je stejne jako [0-9A-Za-z],
a na to, e druhy vzor zavisi na C locale kodovani znak ASCII, zatimco
prvni je nezavisly na locale i znakove sad (zavorky v nazvech skupin
jsou souasti jejich symbolickych jmen a musi byt uvedene uvnit zavorek
uzavirajicich seznam). Vtina metaznak ztraci v seznamech svj zvlatni
vyznam. K pidani znaku ] do seznamu stai uvest ho jako prvni. Podobn
znak ^ stai uvest na jinem ne prvnim mist. Konen znak - se uvede jako
posledni.
Teka . odpovida jednomu libovolnemu znaku. Znak \w je synonymem pro
[[:alnum:]] a \W je synonymem pro [^[:alnum]].
Stika ^ a znak dolaru $ jsou metaznaky, ktere odpovidaji prazdnemu
etzci na zaatku, resp. na konci adku. Symboly \< a \> oznauji prazdne
etzce na zaatku, resp. na konci slova. Symbol \b odpovida prazdnemu
etzci na hranici slova a \B odpovida prazdnemu etzci ktery nen'i na
hranici slova.
Regularni vyraz me mit za sebou jeden z opakovacich operator:
? Pedchazejici poloka je volitelna a obsaena nejvye jednou (tj.
jednou nebo ani jednou).
* Pedchazejici poloka je volitelna a obsaena v libovolnem potu
(tj. nula- nebo vicekrat).
+ Pedchazejici poloka je obsaena jednou nebo vicekrat.
{n} Pedchazejici poloka je obsaena prav n krat.
{n,} Pedchazejici poloka je obsaena n nebo vicekrat.
{n,m} Pedchazejici poloka je obsaena alespo n krat, ale ne vice ne m
krat.
Dva regularni vyrazy se daji pimo spojit; vysledny regularni vyraz
odpovida libovolnemu etzci vzniklemu spojenim dvou jinych, ktere
odpovidaji pvodnim dvma regularnim vyrazm.
Dva regularni vyrazy lze sloit pevnym operatorem |; vysledny regularni
vyraz odpovida etzci, ktery se shoduje s kterymkoliv z uvedenych
regularnich vyraz.
Opakovani ma pednost ped spojenim, ktere ma zase pednost ped stidanim.
Cely podvyraz stai uzavit do zavorek aby se tato pednost zruila.
Zptny odkaz \n, kde n je islice, odpovida podetzci, ktery byl pedtim
porovnavan a vyhodnocen jako shodny s n-tym podvyrazem oddlenym
zavorkami od zbytku regularniho vyrazu.
V zakladnich regularnich vyrazech ztraceji metaznaky ?, +, {, |, (, a )
sve zvlatni vyznamy; misto nich se daji pouit verze se zptnym lomitkem
\?, \+, \{, \|, \(, a \).
Tradini egrep nepodporoval metaznak { a nktere implementace egrep misto
toho podporovaly \{. Penositelne skripty by tedy nemly { ve vzorech
pro egrep pouivat a misto toho k porovnani se znakem { pouivat seznam s
jedinym znakem [{].
GNU egrep se snai tradini zpsob pouiti podporovat tak, e { nebere jako
metaznak, pokud by ml byt zaatkem chybne specifikace rozsahu. Napiklad
pikaz egrep '{1' hleda dvouznakovy etzec {1 misto toho, aby hlasil
chybu syntaxe v regularnim vyrazu. POSIX.2 dovoluje toto chovani jako
rozieni, ale penositelne skripty by na nj nemly spolehat.
PROMNN'E PROSTED'I
Hovani grepu je ovlivnno nasledujicimi promnnymi prostedi:
Locale LC_foo je ureno prozkoumanim promnnych prostedi LC_ALL, LC_foo,
LANG, v uvedenem poadi. Prvni z nich, ktera je nastavena, uri locale.
Napiklad pokud neni nastavena LC_ALL, ale LC_MESSAGES je nastavena na
pt_BR, je pro LC_MESSAGES locale pouita brazilska portugaltina. C
locale je pouito pouze tehdy, kdy neni nastavena adna z tchto promnnych
prostedi nebo pokud neni nainstalovan katalog locale nebo pokud byl
grep zkompilovan bez podpory narodnich jazyk (NLS).
GREP_OPTIONS
Tato promnna nastavuje vychozi volby, ktere se pidaji na zaatek
dalich dodatenych voleb. Napiklad kdyby GREP_OPTIONS bylo
'--binary-files=without-match --directories=skip', grep by se
choval, jako kdyby volby --binary-files=without-match a
--directories=skip byly uvedene ped ostatnimi dodatenymi
volbami. Nastaveni voleb jsou oddlena bilymi znaky (nap.
mezerami nebo tabulatory). Zptne lomitko escapuje znaky, take
jej lze pouit pro volbu obsahujici bile znaky nebo zptna
lomitka.
GREP_COLOR
Uruje znaku pro zvyrazovani.
LC_ALL, LC_COLLATE, LANG
Tyto promnne nastavuji locale LC_COLLATE, ktere uruje azeni
pouivane pi interpretaci vyraz s rozsahy jako [a-z].
LC_ALL, LC_CTYPE, LANG
Tyto promnne nastavuji locale LC_CTYPE, ktere uruje typy znak,
nap. ktere znaky jsou bile znaky.
LC_ALL, LC_MESSAGES, LANG
Tyto promnne nastavuji locale LC_MESSAGES urujici jazyk, kterym
bude grep tisknout hlaeni. Vychozi C locale pouiva americkou
anglitinu.
POSIXLY_CORRECT
Pokud je nastaveno, grep se chova podle poadavk POSIX.2; jinak
se grep chova vice jako ostatni programy GNU. POSIX.2 vyaduje,
aby volby nasledujici za jmeny soubor byly brany u jen jako
jmena soubor; normaln se takove volby pesunou na zaatek seznamu
parametr a berou se jako volby. POSIX.2 dale vyaduje aby se
nezname volby pokladaly za "ilegalni", ale protoe nejsou tak
upln protizakonne, normaln se prohlasi za "invalidni".
POSIXLY_CORRECT take rui _N_GNU_nonoption_argv_flags_ popsane
dale.
_N_GNU_nonoption_argv_flags_
(Zde N je islo procesu grep). Jestlie hodnota i-teho znaku teto
promnne je 1, neber i-ty parametr grep jako volbu, i kdyby to
vypadalo, e to volba je. Shell me dat tuto promnnou do prostedi
pro kady pikaz ktery spouti, aby uril, ktere parametry jsou
vysledkem rozvinuti jmen soubor "olikovymi" znaky (* a ?) a
nemaji byt brany jako volby. Toho chovani je mone jen s
knihovnou GNU C a jen kdy neni nastaveno POSIXLY_CORRECT.
N'AVRATOV'E HODNOTY
Normaln je vystupni hodnota 0, kdy jsou nalezeny shody nebo 1 kdy adne
nalezeny nejsou. Vystupni hodnota je 2, pokud dolo k chyb, ledae byla
pouita volba -q nebo --quiet nebo --silent a byla nalezena odpovidajici
adka.
CHYBY
Hlaeni o chybach posilejte na bug-grep@gnu.org (anglicky).
Velke poty opakovani v konstrukci {m,n} mou vest k tomu, e grep pouije
dost pamti. Navic nktere jine neobvykle regularni vyrazy maji
exponencialni naroky na as a prostor a mohou zpsobit, e grep spotebuje
vechnu pam.
Zptne odkazy jsou velmi pomale a doba jejich zpracovani me rst
exponencialn.