Ero sivun ”Grep” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (-A ja -B)
pEi muokkausyhteenvetoa
 
(9 välissä olevaa versiota 6 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Grep-[[komentorivi]]komennolla voi etsiä ja tulostaa tiettyä [[wikipedia:fi:säännölliset lausekkeet|säännöllistä lauseketta]] vastaavan rivin tai merkkijonon.
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
'''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.


ls -R | grep foo
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.
Näyttää putkitusta hyväksi käyttäen kaikki tiedostot nykyisestä hakemistosta ja sen alihakemistoista joiden nimessä esiintyy sana foo.
ls -R | grep -e foo -e bar -e asdf


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 <tt>grep -E</tt> ja <tt>grep -F</tt> -komentoja.
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>.


Lisää grep-komennon käyttötapoja löytyy [[Komentorivivinkkejä]]-sivulta. Grepin kanssa hyödynnetään myös usein mahdollisuutta [[Komentorivin perusteet#Putkitus|putkittaa]] 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.
 
== 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==
*[[Find]]
*[[Find]]
*[[Sed]]
*[[Sed]]
*[[Säännöllinen lauseke]]


==Linkkejä==
==Aiheesta muualla==
*[[wikipedia:fi:Grep|Grep Wikipediassa]]
*[[wikipedia:fi:Grep|Grep Wikipediassa]]


[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Komentorivin perustyökalut]]
[[pl:grep]]

Nykyinen versio 9. helmikuuta 2016 kello 07.44

grep-komentorivikomennolla voi etsiä ja tulostaa tiettyä säännöllistä lauseketta vastaavan rivin tai merkkijonon.

Käyttö[muokkaa]

Näytetään kaikki nykyisen hakemiston ja sen alihakemistojen (valitsin -R) tiedostojen rivit, joilla esiintyy merkkijono foobar.

grep foobar * -R

Näytetään kaikkien nykyisen hakemiston .html-päätteisten tiedostojen rivit, jotka alkavat (merkki ^, katso säännöllinen lauseke) merkkijonolla foobar.

grep "^foobar" *.html

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..*$" *

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 -e avulla.

ls -R | grep -e foo -e bar -e asdf

Näytetään file.conf-tiedoston sisältö ilman #-alkuisia ja tyhjiä rivejä, mikä on usein näppärää pitkiä asetustiedostoja tarkastellessa. Valitsin -v tarkoittaa, että grep jättää pois ne rivit, jotka täsmäävät annettuun lausekkeeseen.

grep -v -E '^\#|^$' file.conf

Etsitään tiedostosta elaimet 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

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

Lisää grep-komennon käyttötapoja löytyy Komentorivivinkkejä-sivulta. Grepin kanssa hyödynnetään myös usein mahdollisuutta putkittaa komentoja.

Zgrep[muokkaa]

Gzipattujen tiedostojen sisältä voi etsiä komennolla zgrep. Esimerkiksi:

zgrep -e foo bar.gz

Komennot zegrep ja zfgrep vastaavat komentoja egrep ja fgrep pakatuille tiedostoille.

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]