LX-SYS-shell-grep-OEF
Oefeningen op GREP:
-
Tik het volgende commando in:
$ apropos dir
Wat kunt u met het commando apropos doen? Bekijk de man pages van apropos.
Probeer ook even hetvolgende:
$ apropos grep
$ apropos kill
Zoek zelf uit hoe killall werkt en doe een test.
-
Onderzoek de opties -l -v -n en -i voor het commando grep; kijk eerst in de man pagina.
test telkens op het bestand /etc/passwd voor de string "bash"
-
Gebruik grep om in /etc/passwd je eigen login details te tonen.
-
voer de volgende commando's uit als gewone user. Noteer telkens wat het commando doet en interpreteer telkens het resultaat (de teststring false geeft resultaten bij debian based distributies, en de teststring nologin bij red hat based distributies):
-
$ grep root /etc/passwd
-
$ grep -n root /etc/passwd
-
$ grep bash /etc/passwd
-
$ grep -v bash /etc/passwd
-
$ grep false /etc/passwd
-
$ grep nologin /etc/passwd
-
$ grep -v bash /etc/passwd | grep nologin
-
$ grep -v bash /etc/passwd | grep false
-
$ grep -c false /etc/passwd
-
$ grep -c nologin /etc/passwd
-
Test en interpreteer het volgende commando:
$ ls -R /etc | sort | grep host | wc
-
als we in de zoekstring gebruik maken van ^ (Alt-Gr 6) betekent dit dat we alleen zoeken aan het begin van een regel. Als we in de zoekstring gebruik maken van $ betekent dit dat we zoeken enkel aan het einde van een regel.
Bekijk de volgende voorbeelden; voer de volgende commando's uit als gewone user.
Noteer telkens wat het commando doet en interpreteer telkens het resultaat:
a1) $ grep -v "^#" /etc/ntp.conf
vergelijk met
a2) $ grep -v "^#" /etc/ntp.conf | grep -v "^[ ]*quot;
---------------------------------------------------------
b1) $ grep "lsquot; ~/.bash_history
vergelijk met
b2) $ grep "ls" ~/.bash_history
- Ga naar de website: http://www.panix.com/~elflord/unix/grep.html
en bekijk wat je kan doen met de . wildcard.
Ga verder en probeer te begrijpen wat regular expressions zijn en hoe je ze moet gebruiken.
- Hoe vind ik in een tekst het woord 'een' terug maar niet een kombinatie van een zoals 'heengaan'?
- Hoe vind ik in een tekst een regel terug die begint met het dollarteken?
-
Om in mijn huidige directory alle bestanden te onderzoeken op het woord "ftp" kan ik
$ grep ftp *
intikken. Dit commando onderzoekt echter niet de subdirectories. Met
welke optie kan ik toch ook subdirectories onderzoeken? Test dit in /etc.