Grep kasutamine: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
grep, egrep, fgrep, rgrep - väljastab sisendisse antust kõik read, mis sisaldavad otsitut tekstifraasi või regulaaravaldist. | '''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" | Lihtsamalt öeldes kasutatakse grep'i faili SISU järgi otsimiseks/vaatamiseks - "grep MIDA KUST" | ||
Line 18: | Line 18: | ||
<pre>grep root /etc/passwd</pre> | <pre>grep root /etc/passwd</pre> | ||
'''Tulemus:''' otsib sõna root failist /etc/passwd | |||
Line 36: | Line 36: | ||
<pre>grep -r "192.168.1.5" /etc/</pre> | <pre>grep -r "192.168.1.5" /etc/</pre> | ||
'''Tulemus:''' otsime 192.168.1.5 kataloogist /etc/ ning kõikidest alamkataloogidest samuti | |||
Mitme erineva sõna otsimiseks kasutame | Mitme erineva sõna otsimiseks kasutame egrep'i. | ||
<pre>egrep "peeter|kala|root" /etc/passwd</pre> | <pre>egrep "peeter|kala|root" /etc/passwd</pre> | ||
'''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 | Kui huvitab mitmes erinevas reas otsitav sõna esineb siis kasutame võtit -c. Kui tahame aga näha numbriliselt mitmendas reas sõna esineb siis kasutame võtit -n | ||
<pre>grep -c false /etc/passwd</pre> | <pre>grep -c false /etc/passwd</pre> | ||
Line 52: | Line 52: | ||
< | <pre>grep -v peeter /etc/passwd</pre> | ||
Tulemus: | '''Tulemus:''' väljastab kõik read välja arvatud rea, kus esines sõna peeter | ||
Grep'i kasutatakse üsna tihti koos torudega. Toon välja mõned näited: | |||
<pre>dmesg | egrep "(s|h)d[a-z]"</pre> | |||
'''Tulemus:''' info kõvaketaste kohta | |||
<pre>cat /proc/cpuinfo | grep -i "Model"</pre> | |||
'''Tulemus:''' väljastab info protsessori (CPU) kohta | |||
Et eriti hästi tulemus silma paistaks saame väljastada otsitava sõna värviliselt | |||
<pre>grep --color peeter /etc/passwd</pre> | |||
=Abi= | =Abi= | ||
< | <pre>man grep</pre> | ||
=Allikad= | |||
http://viki.pingviin.org/Grep | |||
http://viki.vkhk.ee/index.php/Grep | |||
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_04_02.html | |||
http://www.cyberciti.biz/faq/grep-regular-expressions/ | |||
http://www.cyberciti.biz/faq/howto-use-grep-command-in-linux-unix/ | |||
= | =Autor= | ||
Petri Hütt | |||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] | [[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
Revision as of 22:38, 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 esineb siis kasutame võtit -n
grep -c false /etc/passwd
grep -n false /etc/passwd
grep -v peeter /etc/passwd
Tulemus: väljastab kõik read välja arvatud rea, kus esines sõna peeter
Grep'i kasutatakse üsna tihti koos torudega. Toon välja mõned näited:
dmesg | egrep "(s|h)d[a-z]"
Tulemus: info kõvaketaste kohta
cat /proc/cpuinfo | grep -i "Model"
Tulemus: väljastab info protsessori (CPU) kohta
Et eriti hästi tulemus silma paistaks saame väljastada otsitava sõna värviliselt
grep --color peeter /etc/passwd
Abi
man grep
Allikad
http://viki.vkhk.ee/index.php/Grep
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_04_02.html
http://www.cyberciti.biz/faq/grep-regular-expressions/
http://www.cyberciti.biz/faq/howto-use-grep-command-in-linux-unix/
Autor
Petri Hütt