Grep kasutamine: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Phutt (talk | contribs)
No edit summary
Phutt (talk | contribs)
No edit summary
Line 5: Line 5:
=Võtmed=
=Võtmed=
* -i, --ignore-case - Otsing ei ole enam tähtede suhtes tõstutundlik.
* -i, --ignore-case - Otsing ei ole enam tähtede suhtes tõstutundlik.
*-w, --word-regexp - otsib täpselt seda sõna mida otsingusse kirjutad
*-w, --word-regexp - Otsib täpselt seda sõna mida otsingusse kirjutad
* -c, --count - Loeb ära mitmes reas sinu otsitav sõna esines.
* -n, --line-number - Lisab vastele ka rea numbri.
* -n, --line-number - Lisab vastele ka rea numbri.
* -r, --recursive - Uurib ka alamkatalooge.
* -r, --recursive - Uurib ka alamkatalooge.
* -v, --invert-match - Väljastab read, mis ei sisalda otsitut
* -v, --invert-match - Väljastab read, mis ei sisalda otsitut
* -c, --count - Loeb ära mitmes reas sinu otsitav sõna esines.
 




Line 42: Line 43:
<pre>egrep "peeter|kala|root" /etc/passwd</pre>
<pre>egrep "peeter|kala|root" /etc/passwd</pre>


<b>Tulemus:</b>ühe käsuga otsime kolme erinevat sõna
<b>Tulemus:</b> ühe käsuga otsime kolme erinevat sõna
 
 
Kui huvitab mitmes erinevas reas otsitav sõna esineb siis kasutame võtit -c. Kui tahame aga näha numbriliselt mitmendas reas sõna esines siis kasutame võtit -n


<pre>grep -c false /etc/passwd</pre>
<pre>grep -n false /etc/passwd</pre>


<code>grep false /etc/passwd -c</code>
Tulemus: otsitakse /etc/passwd alt sõna "false" ning tulemusena kuvatakse numbrina ridade arv, mitmes reas sõna "false" leiti


<code>grep "*" /etc/profile</code>
<code>grep "*" /etc/profile</code>

Revision as of 21:56, 7 May 2010

grep, egrep, fgrep, rgrep - väljastab sisendisse antust kõik read, mis sisaldavad otsitut tekstifraasi või regulaaravaldist.

Lihtsamalt öeldes kasutatakse grep'i faili SISU järgi otsimiseks/vaatamiseks - "grep MIDA KUST"

Võtmed

  • -i, --ignore-case - Otsing ei ole enam tähtede suhtes tõstutundlik.
  • -w, --word-regexp - Otsib täpselt seda sõna mida otsingusse kirjutad
  • -c, --count - Loeb ära mitmes reas sinu otsitav sõna esines.
  • -n, --line-number - Lisab vastele ka rea numbri.
  • -r, --recursive - Uurib ka alamkatalooge.
  • -v, --invert-match - Väljastab read, mis ei sisalda otsitut


Näited

Kui tahad otsida sõna root failist /etc/passwd siis kasuta käsku

grep root /etc/passwd

Tulemus: otsib sõna root failist /etc/passwd


Grep'i võib sundida ignoreerima suuri ja väikeseid tähti. Seega, kui me otsime sõna, kus on suured ja väikesed tähed (nt. Boo, bOO, BOO jne.) siis kasutame grep'i järel võtit -i

grep -i boo /etc/passwd


Kui sa otsid näiteks sõna boo siis tulemusena võid leida ka sõnu fooboo, boo123 vms. Kui aga tahad leida täpselt seda, mille otsingusse kirjutad siis tuleb kasutada võtit -w

grep -w boo /etc/passwd


Kui tahad otsida kataloogist ning ka kõikidest alamkataloogidest siis peame kasutama grep'i järel võtit -r

grep -r "192.168.1.5" /etc/

Tulemus: otsime 192.168.1.5 kataloogist /etc/ ning kõikidest alamkataloogidest samuti


Mitme erineva sõna otsimiseks kasutame egrep'i.

egrep "peeter|kala|root" /etc/passwd

Tulemus: ühe käsuga otsime kolme erinevat sõna


Kui huvitab mitmes erinevas reas otsitav sõna esineb siis kasutame võtit -c. Kui tahame aga näha numbriliselt mitmendas reas sõna esines siis kasutame võtit -n

grep -c false /etc/passwd
grep -n false /etc/passwd


grep "*" /etc/profile Tulemus: kui me tahame otsida tärni (*) siis me peame kasutama jutumärke, vastasel juhul ei väljastata meile midagi

grep 'test[4-7]' filename Tulemus: otsitakse määratud failist sõna test, millele lisaks on määratud numbrite jada, kuhu võivad kuuluda numbrid 4 kuni 7. Näiteks test4457.



Abi

man grep

Autor: Petri Hütt

Lingid