Ero sivun ”Grep” versioiden välillä
Pb (keskustelu | muokkaukset) p (linkki omaan wikiin) |
pEi muokkausyhteenvetoa |
||
(5 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä) | |||
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. | |||
== 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ä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ä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ä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 | |||
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 | ||
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 <tt>egrep</tt> ja <tt>fgrep</tt>, jotka vastaavat <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.