Available in

(1) (1)/cs (1)/de (1)/es (1)/fi (1)/fr (1)/hu (1)/it (1)/ja (1)/nl (1)/pl (1)/zh_CN (1)/zh_TW (1posix)

TOC

GREP(1)                                                                GREP(1)



NAZWA

       grep, egrep, fgrep - wypisz linie pasujce do wzorca

SKADNIA

       grep [opcje] wzorzec [plik...]
       grep [opcje] [-e wzorzec | -f plik] [plik...]

OPIS

       grep  przeszukuje  wskazane pliki wejciowe (lub standardowe wejcie jeli
       nie podano adnych lub podano nazw pliku '-'), szukajc  linii  zawieraj-
       cych  co pasujcego do podanego wzorca.  Domylnie, grep wypisuje pasujce
       linie.

       Dodatkowo dostpne s dwa programy wariantowe egrep i fgrep.  Egrep  jest
       tym samym, co grep -E.  Fgrep jest tym samym, co grep -F.

OPCJE

       -A num, --after-context=num
              Wypisuje po pasujcych liniach num linii nastpujcego kontekstu.

       -a, --text
              Przetwarza  plik  binarny  tak,  jakby  by  on tekstowy; jest to
              rwnowanik opcji --binary-fnums=text.

       -B num, --before-context=num
              Wypisuje przed pasujcymi liniami num linii  poprzedzajcego  kon-
              tekstu.

       -C [num], -num, --context[=num]
              Wypisuje num linii (domylnie 2) kontekstu w wyjciu.

       -b, --byte-offset
              Wypisuje  przed  kad lini wyjcia jej offset bajtowy w pliku wej-
              ciowym.

       --binary-files=typ
              Jeli pierwszych kilka bajtw pliku wskazuje, e  zawiera  on  dane
              binarne,  to  zakadane  jest, e jest to plik typu typ.  Domylnym
              typem jest binarny (binary), a grep normalnie albo wypisuje jed-
              nolinijkowy  komunikat mwicy o dopasowaniu pliku binarnego, albo
              nie wypisuje komunikatu, gdy nie znaleziono dopasowania.   Jeeli
              typem  jest  without-match  (bez dopasowania), to grep zakada, e
              ten plik binarny nie pasuje; jest to rwnowane dziaaniu opcji -I.
              Jeli typem jest text, to grep przetwarza plik binarny tak, jakby
              by on tekstowy; jest to rwnowane opcji -a.  Ostrzeenie:  Moe  si
              zdarzy, e wypisane przez grep --binary-files=text miecie binarne
              dadz przykre skutki uboczne jeeli wyjciem bdzie terminal a  jego
              sterownik zinterpretuje niektre z nich jako swoje polecenia.

       -c, --count
              Wycza normalne wyjcie; zamiast niego dla kadego pliku wejciowego
              wypisuje liczb  pasujcych  linii.   Z  opcj  -v,  --invert-match
              (patrz niej), liczy linie niepasujce.

       -d akcja, --directories=akcja
              Jeli   plik   wejciowy   jest   katalogiem,   stosuje   to  jego
              przetworzenia akcj.  Domyln akcj jest read, co znaczy,  e  kata-
              logi  s  czytane  dokadnie  tak samo, jakby byy zwykymi plikami.
              Jeli wartoci akcji jest skip, to katalogi  s  milczco  pomijane.
              Jeli  wartoci  akcji jest recurse, to grep czyta wszystkie pliki
              pod kadym katalogiem, rekurencyjnie; jest to rwnowane opcji  -r.

       -E, --extended-regexp
              Interpretuje  wzorzec jako rozszerzone wyraenie regularne (patrz
              niej).

       -e wzorzec, --regexp=wzorzec
              Uywa wzorca jako wzorca; uyteczne do ochronienia wzorw zaczynaj-
              cych si od -.

       -F, --fixed-strings
              Interpretuje  wzorzec  jako  list  acuchw  o  staej dugoci, odd-
              zielonych znakami  nowej  linii,  ktre  naley  dopasowa  kady  z
              osobna.

       -f plik, --file=plik
              Pobiera wzorce z plik, po jednym z kadej linii.  Plik pusty zaw-
              iera zero wzorcw, nie pasujc do niczego.

       -G, --basic-regexp
              Interpretuje wzorzec jako podstawowe wyraenie regularne  (zobacz
              niej).  Jest to zachowanie domylne.

       -H, --with-filename
              Dla kadego dopasowania wypisuje nazw pliku.

       -h, --no-filename
              -h,  --no-filename  Wycza poprzedzanie wynikw nazwami plikw pod-
              czas przeszukiwania wielu plikw.

       --help Wypisuje krtki tekst pomocy.

       -I     Przetwarza plik binarny tak,  jakby  nie  zawiera  on  pasujcych
              danych; jest to rwnowane opcji --binary-files=without-match.

       -i, --ignore-case
              Ignoruje  rozrnienia  w  wielkoci liter we wzorcu oraz w plikach
              wejciowych.

       -L, --files-without-match
              Wycza normalne wyjcie; zamiast niego wypisuje nazw kadego pliku,
              z  ktrego  normalnie  nie wypisano by adnego wyjcia.  Przeszuki-
              wanie zakoczy si na pierwszej pasujcej linii.

       -l, --files-with-matches
              Wycza normalne wyjcie; zamiast niego wypisuje nazw kadego pliku,
              z  ktrego  normalnie  wypisano  by jakie wyjcie.  Przeszukiwanie
              zakoczy si na pierwszej pasujcej linii.

       --mmap Jeli to moliwe, do odczytu wejcia korzysta z funkcji  systemowej
              mmap(2)  zamiast  domylnej read(2).  W pewnych sytuacjach --mmap
              daje  lepsz  wydajno.  Moe  jednak   spowodowa   niezdefiniowane
              zachowanie (cznie ze zrzutem rdzenia) jeli podczas dziaania grep
              plik wejciowy si skurczy lub wystpi bd wejcia/wyjcia.

       -n, --line-number
              Poprzedza kad lini wyjcia numerem linii  z  odpowiedniego  pliku
              wejciowego.

       -q, --quiet, --silent
              Po  cichu;  wycza normalne wyjcie.  Przeszukiwanie zakoczy si na
              pierwszej pasujcej linii. Zobacz take poniej opcje -s lub  --no-
              messages.

       -r, --recursive
              Czyta  wszystkie pliki pod kadym katalogiem, rekurencyjnie; jest
              to rwnowane opcji -d recurse.

       -s, --no-messages
              Wycza komunikaty bdw o plikach nieistniejcych lub nie do  odczy-
              tania.  Uwaga o przenonoci: w przeciwiestwie do GNU grep, trady-
              cyjny grep nie by zgodny z POSIX.2, gdy brakowao mu opcji  -q  a
              opcja -s zachowywaa si jak opcja -q z GNU grep.  Skrypty powoki,
              ktre maj by przenone na tradycyjny grep powinny unika zarwno -q,
              jak i -s i zamiast tego przekierowywa wyjcie do /dev/null.

       -U, --binary
              Traktuje  plik  jako  binarny.  Domylnie, w DOS-ie i MS Windows,
              grep zgaduje typ pliku spogldajc na  zawarto  pierwszych  32  kB
              przeczytanych  z  pliku.   Jeli zdecyduje, e plik jest tekstowy,
              udziera znaki CR z oryginalnej zawartoci pliku (po to eby wyrae-
              nia  regularne  z  ^ i $ dziaay poprawnie).  Podanie -U wycza to
              zgadywanie, powodujc, e wszystkie pliki s czytane i przekazywane
              mechanizmowi  dopasowywujcemu  dosownie;  jeli plik jest plikiem
              tekstowym z parami CR/LF na kocu linii, spowoduje to, e  niektre
              wyraenia regularne nie zadziaaj.  Opcja ta nie dziaa na platfor-
              mach innych ni MS-DOS i MS Windows.

       -u, --unix-byte-offsets
              Raportuje offsety  bajtowe  w  stylu  Unixowym.   Przecznik  ten
              powoduje,  e  grep  raportuje offsety bajtowe tak, jakby plik by
              plikiem tekstowym typu Uniksowego, tj. z  udartymi  znakami  CR.
              Da  to  rezultaty  identyczne jak uruchomienie grepa na maszynie
              Uniksowej.  Opcja ta nie wywouje adnego  efektu,  chyba  e  uyto
              take  opcji  -b;  nie dziaa na platformach innych ni MS-DOS i MS
              Windows.

       -V, --version
              Wypisuje numer wersji grepa na standardowe wyjcie bdw.  w  numer
              wersji  powinno  si  zacza  we wszystkich zgoszeniach bdw (patrz
              niej).

       -v, --invert-match
              Odwraca sens dopasowania, wybiera linie niepasujce.

       -w, --word-regexp
              Wybiera tylko te linie, w ktrych dopasowania  wzorca  tworz  cae
              sowa.   Przeprowadzany test polega na tym, e dopasowywany podcig
              musi albo znajdowa si na  pocztku  linii,  albo  by  poprzedzony
              znakiem  nie  tworzcym sowa.  Podobnie, musi albo znajdowa si na
              kocu linii, albo musi nastpowa po nim  znak  nie  tworzcy  sowa.
              Znakami tworzcymi sowa s litery, cyfry i znak podkrelenia.

       -x, --line-regexp
              Wybiera tylko te dopasowania, ktre dokadnie pasuj do caej linii.

       -y     Przestarzay synonim -i.

       -Z, --null
              Zamiast znaku, ktry normalnie wystpuje po nazwie pliku  wypisuje
              bajt  zerowy  (  ASCII  NUL).   Na przykad, grep -lZ wypisuje po
              nazwie pliku bajt  zerowy,  zamiast,  jak  zwykle,  znaku  nowej
              linii.   Opcja  ta  powoduje,  e wyjcie jest jednoznaczne, nawet
              przy nazwach plikw zawierajcych  niecodzienne  znaki,  jak  znak
              nowej  linii.  Moe  by  wykorzystywana  z poleceniami typu: find
              -print0, perl -0, sort -z czy xargs -0, umoliwiajc przetwarzanie
              plikw  o dowolych nazwach, nawet zawierajcych znaki nowej linii.

WYRAENIA REGULARNE

       Wyraenie regularne to wzorzec opisujcy zbir acuchw.  Wyraenia regularne
       s zbudowane analogicznie do wyrae arytmetycznych, przez zastosowanie do
       poczenia mniejszych wyrae rozmaitych operatorw.

       grep rozumie dwie rne wersje skadni wyrae  regularnych:  "podstawow"  i
       "rozszerzon".   W  GNU.B  grep  obie  te  skadnie przy uyciu nie rni si
       zakresem  dostpnych  moliwoci.   W  innych  implementacjach  podstawowe
       wyraenia  regularne  s  mniej  rozbudowane.  Poniszy opis stosuje si do
       rozszerzonych wyrae regularnych; rnice w stosunku do wyrae podstawowych
       podsumowano na kocu.

       Fundamentalnymi  "cegiekami"  s  wyraenia  regularne  pasujce  do poje-
       dynczego znaku.  Wikszo znakw, w  tym  wszystkie  litery  i  cyfry,  to
       wyraenia regularne pasujce do samych siebie.  Kady metaznak majcy spec-
       jalne  znaczenie  moe  by  cytowany  przez  poprzedzenie  go  odwrotnym
       ukonikiem.

       Lista  znakw zawarta midzy [ a ] pasuje do kadego pojedynczego znaku na
       tej licie; jeli pierwszym znakiem listy jest daszek ^, pasuje wtedy ona
       do  kadego  znaku  nie znajdujcego si na licie.  Dla przykadu, wyraenie
       regularne [0123456789] pasuje do kadej pojedynczej cyfry.  Zakres znakw
       ASCII poda mona okrelajc znak pierwszy i ostatni, oddzielone mylnikiem.
       I na koniec: predefiniowano pewne nazwane klasy znakw.  Ich  nazwy  mwi
       same  za  siebie,  i  s to: [:alnum:], [:alpha:], [:cntrl:], [:digit:],
       [:graph:], [:lower:], [:print:], [:punct:], [:space:],  [:upper:]  oraz
       [:xdigit:].    Na   przykad  [[:alnum:]]  oznacza  [0-9A-Za-z],  z  tym
       wyjtkiem, e ta druga forma zaley od kodowania  znakw  ASCII  i  ustawie
       regionalnych  POSIX  (locale),  podczas  gdy  pierwsza  jest  przenona.
       (Zauwa, e nawiasy kwadratowe w nazwach klas s czci nazw symbolicznych i
       musz  by  umieszczone  dodatkowo,  oprcz pary nawiasw ograniczajcej sam
       list).  Wikszo metaznakw traci swoje szczeglne znaczenie wewntrz  list.
       Aby  umieci  tam  dosowny ], umie go jako pierwszy na licie.  Podobnie,
       aby umieci dosowny ^, umie go gdziekolwiek poza pierwszym miejscem.   W
       kocu, aby umieci dosowny -, umie go na ostatku.

       Kropka  .   pasuje  do kadego pojedynczego znaku.  Symbol \w to synonim
       [[:alnum:]] a \W to synonim [^[:alnum]].

       Daszek ^ oraz znak dolara $ s metaznakami, ktre  pasuj  odpowiednio  do
       acucha  pustego  na  pocztku i na kocu linii.  Symbole \< oraz \> pasuj
       odpowiednio do acucha pustego na pocztku i na  kocu  sowa.   Symbol  \b
       pasuje  do  acucha  pustego  na  krawdzi  sowa, za \B pasuje do pustego
       acucha zakadajc, e nie jest on na krawdzi sowa.

       Po wyraeniu regularnym moe nastpowa jeden z kilku operatorw powtrzenia:
       ?      Poprzedzajcy  element jest opcjonalny i pasuje nie wicej ni raz.
       *      Poprzedzajcy element bdzie dopasowany zero lub wicej razy.
       +      Poprzedzajcy element bdzie dopasowany jeden lub wicej razy.
       {n}    Poprzedzajcy element pasuje dokadnie n razy.
       {n,}   Poprzedzajcy element pasuje n lub wicej razy.
       {,m}   Poprzedzajcy element jest opcjonalny i pasuje co najwyej m razy.
       {n,m}  Poprzedzajcy element pasuje co najmniej n razy, ale nie wicej ni
              m razy.

       Dwa wyraenia regularne mona ze sob zczy (skonkatenowa);  do  wynikowego
       wyraenia  regularnego pasuje kady cig utworzony przez zczenie dowolnych
       dwch cigw, ktre odpowiednio pasuj do zczonych podwyrae.

       Dwa wyraenia regularne mona poczy operatorem infiksowym (wrostkowym) |;
       do  wynikowego  wyraenia regularnego pasuje dowolny cig pasujcy do jed-
       nego bd do drugiego z podwyrae.

       Powtarzanie ma priorytet nad czeniem, ktre z kolei bierze gr nad alter-
       natyw.   Cae  wyraenie  regularne mona uj w nawiasy, celem uniewanienia
       tych regu priorytetowych.

       Wsteczne odniesienie \n, gdzie n jest pojedyncz cyfr, dopasowuje podcig
       poprzednio dopasowany n-tym ujtym w nawiasy podwyraeniem wyraenia regu-
       larnego.

       W podstawowych wyraeniach regularnych metaznaki ?, +, {, |,  (  oraz  )
       trac  swoje szczeglne znaczenie; zamiast nich naley uy wersji z odwrot-
       nym ukonikiem: \?, \+, \{, \|, \( oraz \).

       Tradycyjny egrep nie traktuje { jako metaznaku.  Niektre  implementacje
       udostpniaj  zamiast  niego  \{, wic przenone skrypty powinny unika { we
       wzorcach egrep, a do dopasowywania dosownego znaku { stosowa [{].

       GNU egrep usiuje obsugiwa tradycyjny sposb  uycia  zakadajc,  e  {  nie
       posiada  szczeglnego  znaczenia  jeli  byby on pocztkiem nieprawidowego
       okrelenia liczby powtrze. Na przykad, polecenie powoki egrep '{1' szuka
       dwuznakowego acucha {1, zamiast zgasza bd skadni w wyraeniu regularnym.
       POSIX.2 pozwala na takie zachowanie jako  rozszerzenie  standardu,  ale
       przenone skrypty powinny go unika.

ZMIENNE RODOWISKA

       GREP_OPTIONS
              Ta  zmienna okrela domylne opcje, jakie zostan umieszczone przed
              wszystkimi  opcjami   podanymi   wprost.    Na   przykad,   jeli
              GREP_OPTIONS  jest rwne '--binary-files=without-match --directo-
              ries=skip', to grep  zachowa  si  tak,  jakby  podano  --binary-
              files=without-match   i  --directories=skip  przed  ewentualnymi
              jawnymi opcjami.  Okrelenia opcji oddziela  si  biaymi  znakami.
              Odwrotny ukonik cytuje nastpny znak, zatem mona go wykorzysta do
              podania opcji zawierajcej biay znak lub odwrotny ukonik.

       LC_ALL, LC_MESSAGES, LANG
              Te zmienne podaj  ustawienie  regionalne  (locale)  LC_MESSAGES,
              okrelajce  jzyk,  jakiego grep ma uy w komunikatach.  Ustawienie
              locale jest okrelane przez pierwsz z  tych  zmiennych,  ktra  ma
              nadan  warto.   Jeli nie istnieje adna z nich, to stosowana jest
              amerykaska odmiana angielskiego. Dzieje si  tak  rwnie  w  przy-
              padku,  gdy  nie  zainstalowano katalogu z komunikatami lub jeli
              grep nie zosta skompilowany z obsug jzykw narodowych (NLS).

       LC_ALL, LC_CTYPE, LANG
              Te zmienne podaj ustawienie regionalne (locale) LC_CTYPE okrela-
              jce  typ  znakw,  np.  ktre z nich s biaymi znakami.  Ustawienie
              locale jest okrelane przez pierwsz z  tych  zmiennych,  ktra  ma
              nadan  warto.   Jeli nie istnieje adna z nich, to stosowane jest
              ustawienie POSIX.  Dzieje si tak  rwnie  w  przypadku,  gdy  nie
              zainstalowano  katalogu  z  komunikatami lub jeli grep nie zosta
              skompilowany z obsug jzykw narodowych (NLS).

       POSIXLY_CORRECT
              Jeli jest ustawiona, to grep zachowuje si zgodnie z  wymaganiami
              POSIX.2;  w przeciwnym razie grep zachowuje si bardziej jak inne
              programy GNU.  POSIX.2 da, by opcje,  ktre  wystpuj  po  nazwach
              plikw byy traktowane jak nazwy plikw. Domylnie za, opcje takie s
              przesuwane na pocztek listy argumentw i  traktowane  jak  opcje.
              Ponadto,  POSIX.2  wymaga,  by  nierozpoznane opcje byy zgaszane
              jako "nielegalne"  ("illegal"),  ale  poniewa  tak  naprawd  nie
              naruszaj  one  prawa,  domylnie  zgaszane  s jako "nieprawidowe"
              ("invalid").    POSIXLY_CORRECT   wycza    take    _N_GNU_nonop-
              tion_argv_flags_, opisane poniej.

       _N_GNU_nonoption_argv_flags_
              (Tu  N jest numerycznym identyfikatorem procesu grepa).  Jeli i-
              tym znakiem wartoci tej zmiennej rodowiska jest 1, to i-ty argu-
              ment  przekazany  do grep nie jest uwaany za opcj, nawet jeli na
              ni wyglda.  Powoka moe umieci t zmienn w  rodowisku  dla  kadego
              polecenia,  jakie  uruchamia,  podajc, ktre argumenty s wynikiem
              rozwinicia nazw plikw i  std  nie  powinny  by  traktowane  jako
              opcje.   Zachowanie  to  jest  dostpne tylko z bibliotek GNU C i
              tylko wtedy gdy nie ustawiono POSIXLY_CORRECT.

DIAGNOSTYKA

       Normalnie status zakoczenia rwna si 0 jeli znaleziono dopasowania, a  1
       jeli  nie znaleziono adnych.  Opcja -v odwraca sens statusu zakoczenia.
       Status zakoczenia rwna si 2  jeli  wystpiy  bdy  skadniowe  we  wzorcu,
       niedostpne pliki wejciowe lub inne bdy systemowe.

BDY

       Zgoszenia  bdw  wysyaj, prosz, do bug-gnu-utils [AT] gnu.org.  Upewnij si, e
       gdzie w polu tematu ("Subject:") umiecie sowo "grep".

       Due liczniki powtrze w konstrukcji {m,n} mog spowodowa,  e  grep  zuyje
       mnstwo  pamici.   Oprcz  tego,  pewne  inne niejasne wyraenia regularne
       wymagaj czasu i przestrzeni rosncej wykadniczo i mog spowodowa, e  gre-
       powi zabraknie pamici.

       Wsteczne  odwoania  s bardzo powolne i mog wymaga czasu rosncego wykad-
       niczo.



Projekt GNU                       2001/01/17                           GREP(1)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.