grep
Tätä artikkelia tai sen osaa on pyydetty parannettavaksi, koska se ei täytä Wikipedian laatuvaatimuksia. Voit auttaa Wikipediaa parantamalla artikkelia tai merkitsemällä ongelmat tarkemmin. Lisää tietoa saattaa olla keskustelusivulla. Tarkennus: Säännöllisten lausekkeiden syntaksi |
grep (search globally for a regular expression and print) on Unix-käyttöjärjestelmän komentoriviohjelma, joka etsii säännöllisillä lausekkeilla määriteltyjä merkkijonoja tiedostoista.[1] Ohjelman nimi on peräisin ed-tekstieditorin komennosta g/re/p.[1] Ohjelman on kehittänyt Ken Thompson.[1] Ohjelma kehitettiin seurauksena tarpeelle käsitellä suurempia tiedostoja kuin tietokoneen muistiin mahtui.[1] Ohjelma vaikutti myös sed-rivieditorin kehitykseen.[2]
Tietokoneslangissa greppaus tai greppaaminen tarkoittaa yleensä mitä tahansa merkkijonojen etsimistä.
Säännöllisten lausekkeiden syntaksiMuokkaa
Klassinen grepMuokkaa
. mikä tahansa merkki paitsi rivinvaihto * edeltävä merkki 0-N kertaa [ ] mikä tahansa sulkujen sisällä olevista merkeistä [A-Z] merkit A...Z [^ ] ei merkki esimerkiksi [^x] tarkoittaa EI ”x” ^ rivin alku $ rivin loppu (lauseke) alilausekkeen alku. Tämä on epäsäännöllinen laajennus eikä aina hyvin määritelty. \n alilausekkeen vastaama merkkijono numero ''n''. Esimerkiksi ”\(a??\)\1" vastaa merkkijonoja ”abcbc” ja ”adede” mutta ei ”abcde”.
POSIX-laajennuksetMuokkaa
+ edeltävä merkki 1-N kertaa ? edeltävä merkki 0-1 kertaa | tai a{m} tasan m kpl a a{m,} vähintään m kpl a a{m,n} m...n kpl a [:alpha:] kirjain käytetyillä maa-asetuksilla [:alnum:] kirjain tai numero käytetyillä maa-asetuksilla [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:] ja [:xdigit:] erilaisia ryhmittelyjä \w sama kuin [:alnum:] \W sama kuin [^[:alnum]]
Haettaessa lauseketta a* tiedostosta grep-ohjelmalla, haku löytäisi ainakin tyhjän merkkijonon joka riviltä, ja tulostaisi siis kaikki rivit. On myös huomattava, että haku säännöllisillä lausekkeilla on ahne, ja löytää riviltä aina pisimmän vastaavan merkkijonon.
Erikoisuudet yms.Muokkaa
^$ tyhjä rivi
EsimerkkejäMuokkaa
- Komentoriviputkessa
Yleinen tapa on liittää ohjelman käyttö komentoriviputkeen:
$ ps | grep bash
Tämä tapaus esittää ps
ohjelman antamasta prosessilistauksesta rivit, joilla esiintyy sana bash
.
- Tyhjät rivit
Etsii tiedostosta #tiedosto
kaikki tyhjät rivit ja tulostaa ne kaikki oletustulostusvirtaan:
$ grep -e '^$' #tiedosto
Katso myösMuokkaa
KirjallisuuttaMuokkaa
- Bambenek, John & Klus, Agnieszka: grep Pocket Reference. O'Reilly, 2009. ISBN 978-0-596-15360-1.
LähteetMuokkaa
Aiheesta muuallaMuokkaa
- GNU Grep 3.0 (englanniksi)
- User Commands (englanniksi)