Ero sivun ”Grep” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Luokka:Ohjelmat)
pEi muokkausyhteenvetoa
 
(14 välissä olevaa versiota 7 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
'''grep'''-komennolla saa helposti etsittyä sanoja tiedostoista sekä tulostettua rivit joilla sana esiintyy.
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
'''grep'''-[[komentorivi]]komennolla voi etsiä ja tulostaa tiettyä [[säännöllinen lauseke|säännöllistä lauseketta]] vastaavan rivin tai merkkijonon.


== Esimerkkejä miten greppiä käytetään ==
== Käyttö ==
 
Näytetään kaikki nykyisen hakemiston ja sen alihakemistojen ([[valitsin]] <tt>-R</tt>) tiedostojen rivit, joilla esiintyy merkkijono foobar.
Näytä kaikki tiedostot ja kyseiset rivit missä esiintyy sana foobar täältä ja alahakemistoista:
  grep foobar * -R
  grep foobar * -R


Näytä hakemiston html-päätteisistä tiedostoista rivit jotka alkavat sanalla 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äytä rivit jotka alkavat isolla alkukirjaimella ja pitävät sisällään sanan 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..*$" *


Grep:lle voi myös antaa tutkittavia rivejä putkien avulla, esimerkiksi seuraava näyttäisi kaikki tiedostot täältä ja alihakemistoista joiden nimessä esiintyy sana 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.
  ls -R | grep foo
  ls -R | grep -e foo -e bar -e asdf


Näyttää file.conf-tiedoston ilman #-alkuisia ja tyhjiä rivejä, näppärä pitkiä .conf-tiedostoja tarkastellessa:
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


Lisää grep-komennon käyttötapoja löytyy [[Komentorivivinkkejä]]-sivulta.
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
 
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ää <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==
*[[Find]]
*[[Sed]]
*[[Säännöllinen lauseke]]
 
==Aiheesta muualla==
*[[wikipedia:fi:Grep|Grep Wikipediassa]]
 
[[Luokka:Komentorivin perustyökalut]]


[[Luokka:Komentorivi]]
[[pl:grep]]
[[Luokka:Ohjelmat]]

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]