Ero sivun ”Grep” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(selitykset ennen esimerkkejä, -e-valitsin)
pEi muokkausyhteenvetoa
 
(4 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Grep-[[komentorivi]]komennolla voi etsiä ja tulostaa tiettyä [[säännöllinen lauseke|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äyttää kaikki nykyisen hakemiston ja sen alihakemistojen ([[valitsin]] <tt>-R</tt>) tiedostojen rivit, joilla esiintyy merkkijono foobar.
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ää kaikkien nykyisen hakemiston html-päätteisten tiedostojen rivit, jotka alkavat merkkijonolla foobar.
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ää rivit jotka alkavat isolla alkukirjaimella ja pitävät sisällään merkkijonon foobar muualla kuin rivin lopussa.
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ää 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ä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 -e foo -e bar -e asdf
  ls -R | grep -e foo -e bar -e asdf


Näyttää file.conf-tiedoston 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.
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


Etsii tiedostosta <tt>elaimet</tt> rivit, joilla lukee kissa ja tulostaa myös viisi tätä seuraavaa riviä (-A5) ja neljä edeltävää (-B4).
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


Grepiä voidaan myös kutsua komennoilla '''egrep''' ja '''fgrep''', 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 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==
Rivi 33: Rivi 40:


[[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]