Ero sivun ”Grep” versioiden välillä
Pb (keskustelu | muokkaukset) (selitykset ennen esimerkkejä, -e-valitsin) |
p (pieniä viilailuja) |
||
Rivi 2: | Rivi 2: | ||
== 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 | 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 | 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. | ||
==Katso myös== | ==Katso myös== |
Versio 14. lokakuuta 2009 kello 20.38
Grep-komentorivikomennolla voi etsiä ja tulostaa tiettyä säännöllistä lauseketta vastaavan rivin tai merkkijonon.
Käyttö
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.