Grep

Linux.fista
Versio hetkellä 22. lokakuuta 2008 kello 18.51 – tehnyt Pb (keskustelu | muokkaukset) (selitykset ennen esimerkkejä, -e-valitsin)
Siirry navigaatioon Siirry hakuun

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

Käyttö

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

grep foobar * -R

Näyttää kaikkien nykyisen hakemiston html-päätteisten tiedostojen rivit, jotka alkavat merkkijonolla foobar.

grep "^foobar" *.html

Näyttää rivit jotka alkavat isolla alkukirjaimella ja pitävät sisällään merkkijonon foobar muualla kuin rivin lopussa.

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

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ä asetustiedostoja tarkastellessa. Valitsin -v tarkoittaa, että grep jättää pois ne rivit, jotka täsmäävät annettuun lausekkeeseen.

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

Etsii 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.

Katso myös

Aiheesta muualla