Muokataan sivua Grep

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
Grep-[[komentorivi]]komennolla voi etsiä ja tulostaa tiettyä [[säännöllinen lauseke|säännöllistä lauseketta]] vastaavan rivin tai merkkijonon.
'''grep'''-[[komentorivi]]komennolla voi etsiä ja tulostaa tiettyä [[säännöllinen lauseke|säännöllistä lauseketta]] vastaavan rivin tai merkkijonon.


== Käyttö ==
== Käyttö ==
Näytetään kaikki nykyisen hakemiston ja sen alihakemistojen ([[valitsin]] <tt>-R</tt>) tiedostojen rivit, joilla esiintyy merkkijono foobar.
  grep foobar * -R
  grep foobar * -R
Näyttää kaikki tiedostot ja niiden rivit missä esiintyy sana foobar nykyisestä hakemistosta ja sen alihakemistoista (-R).


Näytetään kaikkien nykyisen hakemiston <tt>.html</tt>-päätteisten tiedostojen rivit, jotka alkavat (merkki ^, katso [[säännöllinen lauseke]]) merkkijonolla foobar.
  grep "^foobar" *.html
  grep "^foobar" *.html
Näyttää hakemiston html-päätteisistä tiedostoista rivit, jotka alkavat sanalla foobar.


Näytetään rivit jotka alkavat isolla alkukirjaimella ja pitävät sisällään merkkijonon foobar muualla kuin rivin lopussa.
  grep "^[A-Z].*foobar..*$" *
  grep "^[A-Z].*foobar..*$" *
Näyttää rivit jotka alkavat isolla alkukirjaimella ja pitävät sisällään sanan foobar muualla kuin rivin lopussa.


Näytetään putkitusta hyväksi käyttäen kaikki tiedostot nykyisestä hakemistosta ja sen alihakemistoista joiden nimessä esiintyy jokin merkkijonoista foo, bar ja asdf. Grepille voi syöttää useita säännöllisiä lausekkeita valitsimen <tt>-e</tt> avulla.
ls -R | grep foo
ls -R | grep -e foo -e bar -e asdf
Näyttää putkitusta hyväksi käyttäen kaikki tiedostot nykyisestä hakemistosta ja sen alihakemistoista joiden nimessä esiintyy sana foo.


Näytetään <tt>file.conf</tt>-tiedoston sisältö ilman #-alkuisia ja tyhjiä rivejä, mikä on usein näppärää pitkiä [[asetustiedosto]]ja tarkastellessa. Valitsin <tt>-v</tt> tarkoittaa, että grep jättää pois ne rivit, jotka täsmäävät annettuun lausekkeeseen.
  grep -v -E '^\#|^$' file.conf
  grep -v -E '^\#|^$' file.conf
Näyttää file.conf-tiedoston ilman #-alkuisia ja tyhjiä rivejä, näppärä pitkiä .conf-tiedostoja tarkastellessa. -v -valinta tarkoittaa sitä, että grep jättääkin pois kaikki ne rivit, jotka täsmäävät annettuun lausekkeeseen.


Etsitään tiedostosta <tt>elaimet</tt> rivit, joilla lukee kissa ja tulostaa myös viisi tätä seuraavaa riviä (-A5) ja neljä edeltävää (-B4).
  [[cat]] elaimet | grep -A5 -B4 kissa
  [[cat]] elaimet | grep -A5 -B4 kissa
Etsisi tiedostosta <tt>elaimet</tt> rivit, joilla lukee kissa ja tulostaisi myös viisi tätä seuraavaa riviä (-A5) ja neljä edeltävää (-B4).


Grepiä voidaan myös kutsua komennoilla <tt>egrep</tt> ja <tt>fgrep</tt>, jotka vastaavat komentoja <tt>grep -E</tt> ja <tt>grep -F</tt>.
Grepiä voidaan myös kutsua komennoilla <tt>egrep</tt> ja <tt>fgrep</tt>, jotka vastaavat <tt>grep -E</tt> ja <tt>grep -F</tt> -komentoja.


Lisää <tt>grep</tt>-komennon käyttötapoja löytyy [[Komentorivivinkkejä]]-sivulta. Grepin kanssa hyödynnetään myös usein mahdollisuutta [[Komentorivin perusteet#Putkitus|putkittaa]] komentoja.
Lisää grep-komennon käyttötapoja löytyy [[Komentorivivinkkejä]]-sivulta. Grepin kanssa hyödynnetään myös usein mahdollisuutta [[Komentorivin perusteet#Putkitus|putkittaa]] komentoja.
 
== Zgrep ==
[[gzip|Gzipattujen]] tiedostojen sisältä voi etsiä komennolla <tt>zgrep</tt>. Esimerkiksi:
zgrep -e foo bar.gz
 
Komennot <tt>zegrep</tt> ja <tt>zfgrep</tt> vastaavat komentoja <tt>egrep</tt> ja <tt>fgrep</tt> pakatuille tiedostoille.


==Katso myös==
==Katso myös==
Rivi 40: Rivi 33:


[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Komentorivin perustyökalut]]
[[pl:grep]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)
Noudettu kohteesta ”https://www.linux.fi/wiki/Grep