Grep kasutamine: Difference between revisions
No edit summary |
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 - | *-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 | ||
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 "*" /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