Provided by: manpages-fi_0.2-2_all bug

NIMI

       grep,   egrep,  fgrep  -  tulostaa  tiedoston  rivit,  joissa  esiintyy
       määritelty merkkijono

YLEISKATSAUS

       grep [-AB] nro] [-CEFGVbchiLlnqsvwxyUu] [-e merkkijono |  -f  tiedosto]
       [--extended-regexp]          [--fixed-strings]         [--basic-regexp]
       [--regexp=MERKKIJONO] [--file=TIEDOSTO] [--ignore-case] [--word-regexp]
       [--line-regexp]    [--line-regexp]   [--no-messages]   [--revert-match]
       [--version] [--help] [--byte-offset] [--line-number]  [--with-filename]
       [--no-filename]  [--quiet] [--silent] [--files-without-match] [--files-
       with-matcces]  [--count]  [--before-context=NRO]  [--after-context=NRO]
       [--context] [--binary] [--unix-byte-offsets] tiedostot...

KUVAUS

       Grep-komento  etsii  nimetyistä  tiedostoista  rivejä,  joissa esiintyy
       määritelty merkkijono.  (Jollei  tiedostoja  ole  nimetty  tai  jos  on
       nimetty  tiedostonimi  -  ,  grep  etsii  merkkijonoa vakiosyötteestä).
       Oletusarvoisesti  grep  tulostaa  rivit,  joissa  esiintyy   määritelty
       merkkijono.

       Grep-komennosta  on  olemassa  kolme  muunnelmaa, joita voidaan käyttää
       seuraavien valitsimien kanssa.
       -G, --basic-regexp
              Tulkitsee  merkkijonon  tavallisena  säännöllisenä   lausekkeena
              (katso alempaa).  Tämä on oletusarvona.
       -E, --extended-regexp
              Tulkitsee  merkkijonon  laajennettuna  säännöllisenä lausekkeena
              (katso alempaa).
       -F, --fixed-strings
              Tulkitsee merkkijonon merkkijonojen listana, jotka  on  erotettu
              toisistaan   rivinvaihdoilla,   ja   joista   mikä  tahansa  käy
              etsittäväksi sanaksi.
       Lisäksi on  olemassa  kaksi  muunnelmaa,  egrep  ja  fgrep.   Egrep  on
       samantyyppinen (mutta ei täysin identtinen) käskyn grep -E kanssa ja se
       on myös yhteensopiva  vanhan,  historiallisen  Unixin  egrep:n  kanssa.
       Fgrep on vastaava komennon grep -F kanssa.

       Kaikkia grep-komennon muunnelmia voidaan käyttää seuraavien valitsimien
       kanssa:
       -nro   Haun tulokset tulostetaan siten, että haettua  riviä  ennen  tai
              jälkeen  tulostetaan nro kappaletta rivejä tiedostosta.  Grep ei
              kuitenkaan koskaan tulosta yhtään riviä enemmän kuin kerran.
       -A  nro , --after-context=NRO
              Tulostaa nro kappaletta haetun rivin jälkeisiä rivejä.
       -B  nro , --before-context=NRO
              Tulostaa nro kappaletta haettua riviä edeltäviä rivejä.
       -C, --context
              Sama kuin -2.
       -V, --version
              Tulostaa   grep:n   versionumeron    virhetulosteeseen.     Tämä
              versionumero  tulisi  mainita  kaikissa  virheraporteissa (katso
              alempaa).
       -b, --byte-offset
              Tulostaa tulosteen rivien alkuun tavujen määrän tiedoston alusta
              ennen löytyneitä merkkijonoja.
       -c, --count
              Estää  normaalin  tulostuksen;  tulostaa  sen  sijaan jokaisesta
              tiedostosta rivien määrän, joista  löytyy  haettava  merkkijono.
              Valitsimella  -v,  --revert-match  (katso  alempaa)  toiminta on
              päinvastainen;  tulostetaan  rivien  määrä,  joista   ei   löydy
              haettavaa merkkijonoa.
       -e merkkijono,--regexp=MERKKIJONO
              Käytä  merkkijono  merkkijonoa;  käyttökelpoinen merkkijonoille,
              jotka alkavat merkillä -.
       -f tiedosto,--file=TIEDOSTO
              Poimii merkkijonon tiedosto-nimisestä tiedostosta.
       -h, --no-filename
              Estä  tiedostonimien  tulostus  tulosteen  rivien  alkuun,   kun
              etsitään useammasta kuin yhdestä tiedostosta.
       -i, --ignore-case
              Jätä  huomiotta  merkkien  koko  (esim.  isot/pienet  kirjaimet)
              merkkijonoissa ja syöttötiedostoissa.
       -L, --files-without-match
              Estä normaali tulostus; sen sijaan  tulosta  jokaisen  tiedoston
              nimi,  josta  ei  löydy  etsittävää merkkijonoa. Etsintä päättyy
              ensimmäiseen löydettyyn merkkijonoon.
       -l, --files-with-matches
              Estä normaali tulostus; sen sijaan  tulosta  jokaisen  tiedoston
              nimi,   josta   löytyy  etsittävä  merkkijono.  Etsintä  päättyy
              ensimmäiseen löydettyyn merkkijonoon.
       -n, --line-number
              Tulosta  jokaisen  rivin  rivinumero,  josta  löytyy  määritelty
              merkkijono.
       -q, --quiet
              Hiljainen.  Estä normaali tulostus. Etsintä päättyy ensimmäiseen
              osumaan.
       -s, --silent
              Älä tulosta virheilmoituksia tiedostoista, joita ei ole olemassa
              tai tiedostoista, jotka eivät ole luettavissa.
       -v, --revert-match
              Muuttaa  oletustoiminnan päinvastaiseksi; tulostaa rivit, joista
              ei löydy määriteltyä merkkijonoa.
       -w, --word-regexp
              Tulosta vain ne rivit, joista  löytyy  täydellisesti  kokonainen
              etsittävä  merkkijono.  Haettava merkkijono on joko oltava rivin
              alussa, tai sitä ennen on oltava merkki, joka  ei  ole  kirjain,
              numero  tai alaviiva. Vaihtoehtoisesti merkkijono on oltava joko
              rivin lopussa tai sen jälkeen on  oltava  merkki,  joka  ei  ole
              kirjain, numero tai alaviiva.
       -x, --line-regexp
              Tulosta  vain  ne  haun  tulokset, jotka täydellisesti vastaavat
              koko riviä.
       -y     Ei käytössä oleva synonyymi valitsimelle -i.
       -U, --binary
              Käsittele tiedosto(j)a binääritiedostona.  Oletusarvoisesti  MS-
              DOS-   ja   MS-Windows  -käyttöjärjestelmissä  grep  määrittelee
              tiedoston tyypin lukemalla sen alusta ensimmäiset 32  kilotavua.
              Jos  grep päättelee, että tiedosto on tekstitiedosto, se poistaa
              CR   (carriage    return)    -merkit    eli    rivinvaihtomerkit
              alkuperäisestä   tiedostosta   (jotta   säännölliset  lausekkeet
              toimisivat  oikein  merkkien  ^  ja  $   kanssa).    Käyttämällä
              valitsinta  -U  kytketään  pois  edellä  mainittu  automaattinen
              tiedostotyypin  määrittelytoiminto.  Tällöin  kaikki   tiedostot
              luetaan  ja  siirretään etsintämekanismiin sellaisenaan; eli jos
              tiedosto on tekstitiedosto,  jossa  on  CR/LF  -merkit  jokaisen
              rivin  lopussa, jotkut säännölliset lausekkeet eivät toimi. Tätä
              valitsinta  voi  käyttää  ainoastaan   MS-DOS-   ja   MS-Windows
              -käyttöjärjestelmissä.
       -u, --unix-byte-offsets
              Raportoi  Unix-tyylisesti  tavujen määrän tiedoston alusta ennen
              löytyneitä merkkijonoja.  Tämä valitsin aiheuttaa sen, että grep
              raportoi  tavujen  määrän,  kuten  tiedosto  olisi Unix-tyylinen
              tekstitiedosto, eli josta  CR-merkit  on  poistettu.   Tämä  saa
              aikaan tulokset, jotka ovat identtiset verrattuna tulokseen, jos
              grep  ajettaisiin  Unix-koneella.   Tällä  valitsimella  ei  ole
              vaikutusta,  ellei  käytetä  samanaikaisesti -b valitsinta; sitä
              tuetaan ainoastaan MS-DOS- ja MS-Windows  -käyttöjärjestelmissä.

SÄÄNNÖLLISET LAUSEKKEET

       Säännöllinen    lauseke    on    merkkijono,   joka   kuvailee   tietyn
       merkkijonosarjan.   Säännölliset  lausekkeet  on  muodostettu   samalla
       tavalla   kuin   aritmeettiset   lausekkeet,   yhdistämällä   pienempiä
       lausekkeita käyttäen useita operaattoreita.

       Grep ymmärtää kahta  erilaista  säännöllisten  lausekkeiden  syntaksia:
       ‘tavallista’  ja  ‘laajennettua.’   GNU grep:n  toiminnassa ei ole eroa
       käytettäessä   eri   syntakseja.    Muissa   toteutuksissa   tavalliset
       säännölliset  lausekkeet  ovat  vähemmän  tehokkaita.   Seuraava kuvaus
       sopii  laajennettuihin   säännöllisiin   lausekkeisiin;   eroavaisuudet
       tavallisiin   säännöllisiin   lausekkeisiin   on  koottu  yhteenvedoksi
       myöhemmin.

       Säännölliset lausekkeet, jotka vastaavat yhtä  merkkiä,  ovat  tärkeitä
       työkaluja.  Useimmat  merkit, mukaanlukien kaikki kirjaimet ja numerot,
       ovat säännöllisiä lausekkeita, jotka vastaavat itseään.   Mitä  tahansa
       metamerkkiä,  jolla  on  erityinen merkitys voidaan käyttää laittamalla
       sen eteen kenoviiva.

       Merkkijonolista, joka on sulkujen [ ja ] sisällä, vastaa  mitä  tahansa
       yksittäistä merkkiä kyseisellä listalla.  Jos listan ensimmäinen merkki
       on ^-merkki, se vastaa mitä tahansa  merkkiä,  joka  ei  ole  listalla.
       Esimerkiksi  säännöllinen lauseke [0123456789] vastaa mitä tahansa yhtä
       yksinumeroista lukua. ASCII-merkkien alue voidaan määritellä  antamalla
       ensimmäinen  ja  viimeinen  merkki, erotettuna toisistaan tavuviivalla.
       Lisäksi on määritelty  etukäteen  tiettyjä  merkkien  luokkia.   Niiden
       nimet   ovat  itsensä  selittäviä  ja  ne  ovat  [:alnum:],  [:alpha:],
       [:cntrl:],  [:digit:],  [:graph:],  [:lower:],  [:print:],   [:punct:],
       [:space:], [:upper:] ja [:xdigit:].  Esimerkiksi [[:alnum:]] tarkoittaa
       samaa kuin [0-9A-Za-z].   Jälkimmäinen  muoto  on  riippuvainen  ASCII-
       merkkien   koodauksesta,  kun  taas  aiempi  muoto  on  siirrettävämpi.
       (Huomaa, että kaksoispisteet ja sulkeet luokkien nimissä ovat osa nimeä
       ja   ne  on  huomioitava.)   Monilla  metamerkeillä  ei  ole  erityistä
       merkitystä, kun niitä käytetään listoissa.  Ottaaksesi huomioon  merkin
       ],   aseta  se  ensimmäiseksi  listaan.   Samalla  tavalla,  ottaaksesi
       huomioon merkin ^, aseta se mihin tahansa muualle  kuin  ensimmäiseksi.
       Viimeiseksi, ottaaksesi huomioon merkin -, aseta se viimeiseksi.

       Piste  .   vastaa  mitä  tahansa yhtä merkkiä.  Symboli \w on synonyymi
       merkinnälle [[:alnum:]] ja \W on synonyymi merkinnälle [^[:alnum]].

       "Caret"-merkki ^ ja dollarimerkki $ ovat metamerkkejä, jotka  vastaavat
       tyhjiä  merkkejä  rivin alussa ja lopussa.  Symbolit \< ja \> vastaavat
       tyhjää merkkijonoa sanan alussa ja lopussa.  Symboli \b  vastaa  tyhjää
       merkkijonoa  sanan  alussa tai lopussa, ja \B vastaa tyhjää merkkijonoa
       mikäli se ei ole sanan alussa tai lopussa.

       Säännöllisen lausekkeen jälkeen,  joka  vastaa  yhtä  merkkiä,  voidaan
       käyttää mitä tahansa monista toisto-operaattoreista:
       ?      Edeltävä kohta on valinnainen ja se etsitään enimmillään kerran.
       *      Edeltävä kohta etsitään nolla tai useamman kerran.
       +      Edeltävä kohta etsitään kerran tai useammin.
       {n}    Edeltävä kohta etsitään tasan n kertaa.
       {n,}   Edeltävä kohta etsitään n tai useamman kerran.
       {,m}   Edeltävä kohta on valinnainen ja se etsitään enintään m  kertaa.
       {n,m}  Edeltävä  kohta  etsitään  vähintään n kertaa, mutta ei useammin
              kuin m kertaa.

       Kaksi  säännöllistä  lauseketta  voidaan  liittää  toisiinsa;   syntyvä
       säännöllinen lauseke vastaa mitä tahansa merkkijonoa, joka muodostetaan
       liittämällä  kaksi  merkkijonoa,  jotka  vastaavasti  vastaavat  yhteen
       liitettyjä lausekkeita.

       Kaksi  säännöllistä  lauseketta voidaan liittää toisiinsa ns. putkitus-
       merkillä (infix) |; syntyvä lauseke vastaa  mitä  tahansa  merkkijonoa,
       joka vastaa jompaa kumpaa lauseketta.

       Toistaminen   ohittaa   liittämisen,  joka  taas  ohittaa  vuorottelun.
       Kokonainen lauseke voidaan laittaa sulkeisiin,  jolla  voidaan  ohittaa
       nämä "ohitussäännöt".

       Takaisinviittaus   \n,   jossa   n   on   yksinumeroinen  luku,  vastaa
       merkkijonoa, jota aikaisemmin etsittiin säännöllisen lausekkeen n:nessä
       sulkulausekkeessa.

       Tavallisissa säännöllisissä lausekkeissa metamerkit ?, +, {, |, (, ja )
       menettävät erityistarkoituksensa; käytä sen sijaan versioita, joissa on
       kenoviiva edessä \?, \+, \{, \|, \(, ja \).

       Käskyssä  egrep  metamerkki  {  menettää  erityistarkoituksensa;  käytä
       sensijaan \{.

DIAGNOSTIIKKA

       Normaalisti ohjelman paluuarvo (tila ohjelman loputtua) on  0,  jos  on
       löytynyt  haettuja  merkkijonoja  ja  1 jos niitä ei ole löytynyt. ( -v
       valitsin kääntää toiminnan.)  Paluuarvo on  2,  jos  merkkijonossa  oli
       virheitä,   tiedostoja   joita   ei   pystytty   lukemaan   tai   muita
       järjestelmävirheitä.

BUGIT

       Lähetä   bugiraportit    osoitteeseen    bug-gnu-utils@prep.ai.mit.edu.
       Varmista    ennen    lähettämistä,    että    ‘‘grep’’-sana   mainitaan
       ‘‘Subject:’’-kentässä.

       Suuret toistomäärät {m,n} rakenteessa voivat aiheuttaa sen,  että  grep
       käyttää   paljon   muistia.    Lisäksi,   tietyt  muut  vaikeaselkoiset
       säännölliset lausekkeet tarvitsevat eksponentiaalisesti  enemmän  aikaa
       ja tilaa ja voivat aiheuttaa sen, että muisti loppuu.

       Takaisinviittaukset   ovat   erittäin   hitaita   ja   voivat   tarvita
       eksponentiaalisesti enemmän aikaa.