Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

tux:grep [2011/03/31 16:08]
127.0.0.1 external edit
tux:grep [2013/06/03 20:42] (aktuell)
wikisysop [grep: Syntax und Beispiele]
Zeile 6: Zeile 6:
 Die Syntax des grep-Kommandos lautet: Die Syntax des grep-Kommandos lautet:
  
-<xterm2>$ <fc #​008000>​grep</​fc>​ <fc #4682b4>​[options] PATTERN [FILE...]</​fc>​ +<xterm>$ <fc #​008000>​grep</​fc>​ <fc #0000FF>​[options] PATTERN [FILE...]</​fc>​ 
-$ <fc #​008000>​grep</​fc>​ <fc #4682b4>​[options] [-e PATTERN | -f FILE] [FILE...]</​fc>​ +$ <fc #​008000>​grep</​fc>​ <fc #0000FF>​[options] [-e PATTERN | -f FILE] [FILE...]</​fc>​ 
-</xterm2>+</xterm>
  
 **Optionen:​** **Optionen:​**
Zeile 22: Zeile 22:
 |  <fc #​008000>​-w</​fc> ​ | Das Suchmuster muss ein einzelnes Wort sein (also kein Bestandteil eines anderen Wortes) | |  <fc #​008000>​-w</​fc> ​ | Das Suchmuster muss ein einzelnes Wort sein (also kein Bestandteil eines anderen Wortes) |
 |  <fc #​008000>​-A [n]</​fc> ​ | Zeigt »<fc #​008000>​n</​fc>​« Zeilen an, die der Zeile mit dem Muster folgen | |  <fc #​008000>​-A [n]</​fc> ​ | Zeigt »<fc #​008000>​n</​fc>​« Zeilen an, die der Zeile mit dem Muster folgen |
-|  <fc #​008000>​-B [n]</​fc> ​ | Zeigt »<fc #​008000>​n</​fc>​« Zeilen an, die vor der Zeile mit dem Muster liegen ||  ​+|  <fc #​008000>​-B [n]</​fc> ​ | Zeigt »<fc #​008000>​n</​fc>​« Zeilen an, die vor der Zeile mit dem Muster liegen |
 |  <fc #​008000><​nowiki>​--color=auto</​nowiki></​fc> ​ | Hebt das gesuchte Muster farblich hervor | |  <fc #​008000><​nowiki>​--color=auto</​nowiki></​fc> ​ | Hebt das gesuchte Muster farblich hervor |
  
Zeile 30: Zeile 30:
 Da für jeden User in der Datei <fc #​008000>/​etc/​passwd</​fc>​ eine eigene Zeile verwendet wird, zeigt die Option '<​fc #​008000>​-c</​fc>' ​ die Anzahl der Benutzer, die im System die Loginshell <fc #​008000>/​bin/​false</​fc>​ haben: Da für jeden User in der Datei <fc #​008000>/​etc/​passwd</​fc>​ eine eigene Zeile verwendet wird, zeigt die Option '<​fc #​008000>​-c</​fc>' ​ die Anzahl der Benutzer, die im System die Loginshell <fc #​008000>/​bin/​false</​fc>​ haben:
  
-<xterm2>$ <fc #​008000>​grep -c /bin/false /​etc/​passwd</​fc>​ +<xterm>$ <fc #​008000>​grep -c /bin/false /​etc/​passwd</​fc>​ 
-<fc #4682b4>​38</​fc>​ +<fc #0000FF>​38</​fc>​ 
-</xterm2>+</xterm>
  
 Zeige die Zeilen der <fc #​008000>/​etc/​passwd</​fc>​ die das Suchmuster '<​fc #​008000>​root</​fc>'​ enthalten und ignoriere Gross- und Kleinschreibung des Suchmusters:​ Zeige die Zeilen der <fc #​008000>/​etc/​passwd</​fc>​ die das Suchmuster '<​fc #​008000>​root</​fc>'​ enthalten und ignoriere Gross- und Kleinschreibung des Suchmusters:​
  
-<xterm2>$ <fc #​008000>​grep -i RooT /​etc/​passwd</​fc>​ +<xterm>$ <fc #​008000>​grep -i RooT /​etc/​passwd</​fc>​ 
-<fc #4682b4>​__root__</​fc>:​x:​0:​0:<​fc #4682b4>​__root__</​fc>:/<​fc #4682b4>​__root__</​fc>:/​bin/​bash +<fc #0000FF>​__root__</​fc>:​x:​0:​0:<​fc #0000FF>​__root__</​fc>:/<​fc #0000FF>​__root__</​fc>:/​bin/​bash 
-</xterm2>+</xterm>
  
 Zeige alle Dateien die das Suchmuster <fc #​008000>​tcp</​fc>​ enthalten und hebe die gefundenen Suchmuster farbig hervor: ​ Zeige alle Dateien die das Suchmuster <fc #​008000>​tcp</​fc>​ enthalten und hebe die gefundenen Suchmuster farbig hervor: ​
  
-<xterm2>$ <fc #​008000>​grep <​nowiki>​--</​nowiki>​color=auto -I tcp /​etc/​hosts.*</​fc>​ +<xterm>$ <fc #​008000>​grep <​nowiki>​--</​nowiki>​color=auto -I tcp /​etc/​hosts.*</​fc>​ 
-/​etc/​hosts.allow:#​ See 'man <fc #800000>​tcp</​fc>​d'​ and 'man 5 hosts_access'​ for a detailed description +/​etc/​hosts.allow:#​ See 'man <fc #0000FF>​tcp</​fc>​d'​ and 'man 5 hosts_access'​ for a detailed description 
-/​etc/​hosts.allow:#​ <fc #800000>​tcp</​fc>​_wrappers support: +/​etc/​hosts.allow:#​ <fc #0000FF>​tcp</​fc>​_wrappers support: 
-/​etc/​hosts.allow:#​ by inetd or xinetd use <fc #800000>​tcp</​fc>​d to "​wrap"​ the network connection. <fc #800000>​tcp</​fc>​d uses +/​etc/​hosts.allow:#​ by inetd or xinetd use <fc #0000FF>​tcp</​fc>​d to "​wrap"​ the network connection. <fc #0000FF>​tcp</​fc>​d uses 
-/​etc/​hosts.allow:#​ mail -s "<​fc #800000>​tcp</​fc>​_wrappers on %H" root +/​etc/​hosts.allow:#​ mail -s "<​fc #0000FF>​tcp</​fc>​_wrappers on %H" root 
-</xterm2>+</xterm>
  
 Suche in allen Dateien im derzeitigen Verzeichnis und rekursiv in allen Unterverzeichnissen (-r) nach dem String <fc #​008000>​datadir</​fc>​ und zeige den gesuchten String\\ in der Ausgabe farbig an: Suche in allen Dateien im derzeitigen Verzeichnis und rekursiv in allen Unterverzeichnissen (-r) nach dem String <fc #​008000>​datadir</​fc>​ und zeige den gesuchten String\\ in der Ausgabe farbig an:
  
-<xterm2>$ <fc #​008000>​grep -r <​nowiki>​--</​nowiki>​color=auto datadir *</​fc>​ +<xterm>$ <fc #​008000>​grep -r <​nowiki>​--</​nowiki>​color=auto datadir *</​fc>​ 
-bin/​wantedpages.php: ​       $trunclen = strlen($conf['<​fc #800000>​datadir</​fc>'​].':'​);​ +bin/​wantedpages.php: ​       $trunclen = strlen($conf['<​fc #0000FF>​datadir</​fc>'​].':'​);​ 
-bin/​wantedpages.php:​$START_DIR = $conf['<​fc #800000>​datadir</​fc>'​];​ +bin/​wantedpages.php:​$START_DIR = $conf['<​fc #0000FF>​datadir</​fc>'​];​ 
-bin/​indexer.php: ​   search($data,​$conf['<​fc #800000>​datadir</​fc>'​],'​search_allpages',​array());​ +bin/​indexer.php: ​   search($data,​$conf['<​fc #0000FF>​datadir</​fc>'​],'​search_allpages',​array());​ 
-</xterm2>+</xterm>
  
 Unterdrücke Fehlermeldungen bei der Ausgabe: Unterdrücke Fehlermeldungen bei der Ausgabe:
  
-<xterm2>$ <fc #​008000>​grep -s root /​var/​log/​*</​fc>​+<xterm>$ <fc #​008000>​grep -s root /​var/​log/​*</​fc>​
 /​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; __root__:​xnu-1228.15.4~1/​RELEASE_I386 /​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; __root__:​xnu-1228.15.4~1/​RELEASE_I386
 /​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: __root__ing via boot-uuid from /chosen: 7ED1B186-4FF6-318E-A20C-F81803F2D063 /​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: __root__ing via boot-uuid from /chosen: 7ED1B186-4FF6-318E-A20C-F81803F2D063
-/​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: BSD __root__: disk0s2, major 14, minor 2</xterm2>+/​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: BSD __root__: disk0s2, major 14, minor 2</xterm>
  
 Der selbe Befehl ohne Unterdrückung der Fehlermeldungen:​ Der selbe Befehl ohne Unterdrückung der Fehlermeldungen:​
  
-<xterm2$ <fc #008000><fc #​008000>​grep root /​var/​log/​*</​fc>​+<xterm><fc #​008000>​grep root /​var/​log/​*</​fc>​
 grep: /​var/​log/​krb5kdc:​ __Permission denied__ <fc #​008000><​- Diese Fehlermeldung wird durch die Option -s unterdrückt</​fc>​ grep: /​var/​log/​krb5kdc:​ __Permission denied__ <fc #​008000><​- Diese Fehlermeldung wird durch die Option -s unterdrückt</​fc>​
 grep: /​var/​log/​secure.log:​ __Permission denied__ <fc #​008000><​- Diese Fehlermeldung wird durch die Option -s unterdrückt</​fc>​ grep: /​var/​log/​secure.log:​ __Permission denied__ <fc #​008000><​- Diese Fehlermeldung wird durch die Option -s unterdrückt</​fc>​
Zeile 72: Zeile 72:
 /​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: __root__ing via boot-uuid from /chosen: 7ED1B186-4FF6-318E-A20C-F81803F2D063 /​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: __root__ing via boot-uuid from /chosen: 7ED1B186-4FF6-318E-A20C-F81803F2D063
 /​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: BSD __root__: disk0s2, major 14, minor 2 /​var/​log/​system.log:​Apr ​ 6 09:04:33 localhost kernel[0]: BSD __root__: disk0s2, major 14, minor 2
-</xterm2>+</xterm>
  
 Zeige alle Zeilen in der Datei <fc #​008000>/​etc/​vsftpd.conf</​fc>​ in der das Suchmuster '<​fc #​008000>​local</​fc>'​ nur als solches vorkommt und nicht ein Bestandteil eines Wortes ist (Ignoriere zB localhost): Zeige alle Zeilen in der Datei <fc #​008000>/​etc/​vsftpd.conf</​fc>​ in der das Suchmuster '<​fc #​008000>​local</​fc>'​ nur als solches vorkommt und nicht ein Bestandteil eines Wortes ist (Ignoriere zB localhost):
  
-<xterm2>$ <fc #​008000>​grep -w local /​etc/​vsftpd.conf</​fc>​+<xterm>$ <fc #​008000>​grep -w local /​etc/​vsftpd.conf</​fc>​
 # Uncomment this to allow __local__ users to log in. # Uncomment this to allow __local__ users to log in.
 # Default umask for __local__ users is 077. You may wish to change this to 022, # Default umask for __local__ users is 077. You may wish to change this to 022,
-</xterm2>+</xterm>
  
 Suche in der Datei <fc #​008000>/​var/​log/​vsftpd.log</​fc>​ nach dem Muster <fc #​008000><​nowiki>"​USER ftpuser"</​nowiki></​fc>,​ ignoriere dabei Gross- und Kleinschreibung <fc #​008000>​(-i)</​fc>​ und zeige auch die dem Suchmuster folgenden drei Zeilen an <fc #​008000>​(-A 3)</​fc>:​ Suche in der Datei <fc #​008000>/​var/​log/​vsftpd.log</​fc>​ nach dem Muster <fc #​008000><​nowiki>"​USER ftpuser"</​nowiki></​fc>,​ ignoriere dabei Gross- und Kleinschreibung <fc #​008000>​(-i)</​fc>​ und zeige auch die dem Suchmuster folgenden drei Zeilen an <fc #​008000>​(-A 3)</​fc>:​
  
-<xterm2>$ <fc #​008000>​grep -i -A 3 <​nowiki>"​User ftpuser"</​nowiki>​ /​var/​log/​vsftpd.log</​fc>​ +<xterm>$ <fc #​008000>​grep -i -A 3 <​nowiki>"​User ftpuser"</​nowiki>​ /​var/​log/​vsftpd.log</​fc>​ 
-Tue Apr  6 13:49:57 2010 [pid 8121] FTP command: Client "​192.168.1.1",​ <fc #4682b4><​nowiki>"​USER ftpuser"</​nowiki></​fc>​+Tue Apr  6 13:49:57 2010 [pid 8121] FTP command: Client "​192.168.1.1",​ <fc #0000FF><​nowiki>"​USER ftpuser"</​nowiki></​fc>​
 Tue Apr  6 13:49:57 2010 [pid 8121] [ftpuser] FTP response: Client "​192.168.1.1",​ "331 Please specify the password."​ Tue Apr  6 13:49:57 2010 [pid 8121] [ftpuser] FTP response: Client "​192.168.1.1",​ "331 Please specify the password."​
 Tue Apr  6 13:49:57 2010 [pid 8121] [ftpuser] FTP command: Client "​192.168.1.1",​ "PASS <​password>"​ Tue Apr  6 13:49:57 2010 [pid 8121] [ftpuser] FTP command: Client "​192.168.1.1",​ "PASS <​password>"​
 Tue Apr  6 13:49:58 2010 [pid 8118] [ftpuser] OK LOGIN: Client "​192.168.1.1"​ Tue Apr  6 13:49:58 2010 [pid 8118] [ftpuser] OK LOGIN: Client "​192.168.1.1"​
-</xterm2+</xterm
  
 Man kann die Ausgabe eines Befehls auch mittels einer Pipe dem grep-Befehl übergeben (Standardeingabe). Im folgenden Beispiel zeigt <fc #​008000>​ps -eaf</​fc>​ die gesamte Prozessliste an, die Ausgabe wird mit einer Pipe (|) an den grep-Befehl weitergereicht,​ welcher die Prozessliste nach dem Suchmuster <fc #​008000>​vsftpd</​fc>​ filtert: Man kann die Ausgabe eines Befehls auch mittels einer Pipe dem grep-Befehl übergeben (Standardeingabe). Im folgenden Beispiel zeigt <fc #​008000>​ps -eaf</​fc>​ die gesamte Prozessliste an, die Ausgabe wird mit einer Pipe (|) an den grep-Befehl weitergereicht,​ welcher die Prozessliste nach dem Suchmuster <fc #​008000>​vsftpd</​fc>​ filtert:
  
-<xterm2>$ <fc #​008000>​ps -eaf | grep vsftpd</​fc>​ +<xterm>$ <fc #​008000>​ps -eaf | grep vsftpd</​fc>​ 
-nobody ​   7358  2735  0 10:48 ?        00:00:00 <fc #4682b4>​vsftpd</​fc>:​ 88.67.12.123:​ connected +nobody ​   7358  2735  0 10:48 ?        00:00:00 <fc #0000FF>​vsftpd</​fc>:​ 88.67.12.123:​ connected 
-ftpuser ​  ​7362 ​ 7358  0 10:48 ?        00:00:01 <fc #4682b4>​vsftpd</​fc>:​ 88.67.12.123/​ftpuser:​ IDLE +ftpuser ​  ​7362 ​ 7358  0 10:48 ?        00:00:01 <fc #0000FF>​vsftpd</​fc>:​ 88.67.12.123/​ftpuser:​ IDLE 
-root      8085  7950  0 13:39 pts/0    00:00:00 grep <fc #4682b4>​vsftpd</​fc></​xterm2>+root      8085  7950  0 13:39 pts/0    00:00:00 grep <fc #0000FF>​vsftpd</​fc></​xterm>
  
 Filtere aus dem vorangegangenen Befehl die Ausgabe des grep-Befehls aus: Filtere aus dem vorangegangenen Befehl die Ausgabe des grep-Befehls aus:
  
-<xterm2>$ <fc #​008000>​ps -eaf | grep vsftpd | grep -v grep</​fc>​ +<xterm>$ <fc #​008000>​ps -eaf | grep vsftpd | grep -v grep</​fc>​ 
-nobody ​   7358  2735  0 10:48 ?        00:00:00 <fc #4682b4>​vsftpd</​fc>:​ 88.67.12.123:​ connected +nobody ​   7358  2735  0 10:48 ?        00:00:00 <fc #0000FF>​vsftpd</​fc>:​ 88.67.12.123:​ connected 
-misc      7362  7358  0 10:48 ?        00:00:01 <fc #4682b4>​vsftpd</​fc>:​ 88.67.12.123/​ftpuser:​ IDLE +misc      7362  7358  0 10:48 ?        00:00:01 <fc #0000FF>​vsftpd</​fc>:​ 88.67.12.123/​ftpuser:​ IDLE 
-</xterm2>+</xterm>
  
 **Reguläre Ausdrücke** **Reguläre Ausdrücke**
  
-Die Suchmuster lassen ist mit regulären Ausdrücken sehr fein einstellen. Werden mehrere reguläre Ausdrücke hintereinander verwendet, müssen diese mit einem »|«-Zeichen getrennt werden. Bei der Eingabe von Sonderzeichen wie zB »<fc #​008000>?,​ +, {, |, (, und )</​fc>​« müssen diese durch einen Backslash vor der Interpretation durch die Shell geschützt werden. Man kann jedoch an Stelle von grep das <fc #​008000>​egrep</​fc>​-Kommando verwenden. »grep« und »egrep« interpretieren reguläre Ausdrücke unterschiedlich. Für »grep« haben runde Klammern und der senkrechte Strich zum Beispiel keine besondere Bedeutung. Sollen sie zur Bildung von regulären Ausdrücken verwendet werden, muß ihnen ein Backslash vorangstellt werden. Anders bei »egrep«. Hier haben sie automatisch ihre besondere Bedeutung. Wie das jeweilige Programm diese Sonderzeichen behandelt, ist im einzelnen in der Manpage nachzulesen. ​Weitere Information zu regulären Ausdrücken finde Sie im Artikel [[:​it:​regex|"​Reguläre Ausdrücke"​]] ​+Die Suchmuster lassen ist mit regulären Ausdrücken sehr fein einstellen. Werden mehrere reguläre Ausdrücke hintereinander verwendet, müssen diese mit einem »|«-Zeichen getrennt werden. Bei der Eingabe von Sonderzeichen wie zB »<fc #​008000>?,​ +, {, |, (, und )</​fc>​« müssen diese durch einen Backslash vor der Interpretation durch die Shell geschützt werden. Man kann jedoch an Stelle von grep das <fc #​008000>​egrep</​fc>​-Kommando verwenden. »grep« und »egrep« interpretieren reguläre Ausdrücke unterschiedlich. Für »grep« haben runde Klammern und der senkrechte Strich zum Beispiel keine besondere Bedeutung. Sollen sie zur Bildung von regulären Ausdrücken verwendet werden, muß ihnen ein Backslash vorangstellt werden. Anders bei »egrep«. Hier haben sie automatisch ihre besondere Bedeutung. Wie das jeweilige Programm diese Sonderzeichen behandelt, ist im einzelnen in der Manpage nachzulesen.
  
 ^ regex ^ Beschreibung ^ Beispiel ^ ^ regex ^ Beschreibung ^ Beispiel ^
 |  <fc #​008000>​^</​fc> ​ | Beschreibt den Beginn einer Zeile | <fc #​008000>​^[a-e]</​fc>:​ Zeile beginnt mit den Buchstaben <fc #​008000>​a bis e</​fc>​ | |  <fc #​008000>​^</​fc> ​ | Beschreibt den Beginn einer Zeile | <fc #​008000>​^[a-e]</​fc>:​ Zeile beginnt mit den Buchstaben <fc #​008000>​a bis e</​fc>​ |
 |  <fc #​008000>​$</​fc> ​ | Beschreibt das Ende einer Zeile | <fc #​008000>​\.$</​fc>:​ Zeile endet mit einem Punkt | |  <fc #​008000>​$</​fc> ​ | Beschreibt das Ende einer Zeile | <fc #​008000>​\.$</​fc>:​ Zeile endet mit einem Punkt |
-|  <fc #​008000>​\</​fc> ​ | Beschreibt den Wortanfang | <fc #​008000>​\<​hal</​fc>:​ Wort beginnt mit <fc #​008000>​hal</​fc>​ |+|  <fc #008000><​nowiki>\<</​nowiki>​</​fc> ​ | Beschreibt den Wortanfang | <fc #​008000>​\<​hal</​fc>:​ Wort beginnt mit <fc #​008000>​hal</​fc>​ |
 |  <fc #​008000>​\></​fc> ​ | Beschreibt das Wortende ​ | <fc #​008000>​ung\></​fc>:​ Wort endet mit <fc #​008000>​ung</​fc>​ |  |  <fc #​008000>​\></​fc> ​ | Beschreibt das Wortende ​ | <fc #​008000>​ung\></​fc>:​ Wort endet mit <fc #​008000>​ung</​fc>​ | 
 |  <fc #​008000>​\b</​fc> ​ | Steht am Wortanfang oder Wortende | <fc #​008000>​s\b</​fc>:​ Wort beginnt entweder oder endet mit einem <fc #​008000>​s</​fc>​ | |  <fc #​008000>​\b</​fc> ​ | Steht am Wortanfang oder Wortende | <fc #​008000>​s\b</​fc>:​ Wort beginnt entweder oder endet mit einem <fc #​008000>​s</​fc>​ |
Zeile 121: Zeile 121:
 Einer meiner Dozenten ging früher mit uns mal eine Wette ein, dass jeder der mehr als vier deutsche Substantive findet, die mit '<​fc #​008000>​nf</​fc>'​ enden, von ihm zum Mittagessen eingeladen wird. Eigentlich ging es bei der Aufgabe darum diese mit <fc #​008000>​awk</​fc>​ zu lösen aber <fc #​008000>​grep</​fc>​ eignet sich dazu genau so gut. Als erstes brauchen wir mal eine Textdatei mit allen Wörtern die im Deutschen vorkommen. Ich habe dazu die Datei <fc #​008000>​Deutsch.dic</​fc>​ auf meinem Desktop liegen:\\ \\  Einer meiner Dozenten ging früher mit uns mal eine Wette ein, dass jeder der mehr als vier deutsche Substantive findet, die mit '<​fc #​008000>​nf</​fc>'​ enden, von ihm zum Mittagessen eingeladen wird. Eigentlich ging es bei der Aufgabe darum diese mit <fc #​008000>​awk</​fc>​ zu lösen aber <fc #​008000>​grep</​fc>​ eignet sich dazu genau so gut. Als erstes brauchen wir mal eine Textdatei mit allen Wörtern die im Deutschen vorkommen. Ich habe dazu die Datei <fc #​008000>​Deutsch.dic</​fc>​ auf meinem Desktop liegen:\\ \\ 
  
-<xterm2>$ <fc #​008000>​grep -i '​nf\>'​ ~/​Desktop/​Deutsch.dic</​fc>​  +<xterm>$ <fc #​008000>​grep -i '​nf\>'​ ~/​Desktop/​Deutsch.dic</​fc>​  
-fü<fc #4682b4>​nf</​fc>​ +fü<fc #0000FF>​nf</​fc>​ 
-ge<fc #4682b4>​nf</​fc>​ +ge<fc #0000FF>​nf</​fc>​ 
-ha<fc #4682b4>​nf</​fc>​ +ha<fc #0000FF>​nf</​fc>​ 
-se<fc #4682b4>​nf</​fc></​xterm2>+se<fc #0000FF>​nf</​fc></​xterm>
  
-Der folgende Ausdruck sucht im Wörterbuch nach sämtlichen Varianten des Namens Meier zB: Mayr; Meier etc. Dabei bedeutet <fc #​008000>​^M</​fc>​ dass das Suchmuster mit '​M'​ beginnt, wobei durch den Schalter <fc #​008000>​-i</​fc>​ die Gross- und Kleinschreibung ignoriert wird; als nächster Buchstabe entweder ein '​a'​ oder ein '​e'​ erwartet wird <fc #​008000>​[ae]</​fc>;​ der darauf folgende Buchstabe entweder ein '​i'​ oder ein '​y'​ ist <fc #​008000>​[iy]</​fc>;​ danach ein '​e'​ kommen kann (aber nicht muss) <fc #​008000>​e\{0,​1\}</​fc>​ und das Wort mit einem '​r'​ endet <fc #​008000>​r\></​fc>:​\\ \\ <xterm2>$ <fc #​008000>​grep -i '​^M[ae][iy]e\{0,​1\}r\>'​ ~/​Desktop/​Deutsch.dic</​fc>​  +Der folgende Ausdruck sucht im Wörterbuch nach sämtlichen Varianten des Namens Meier zB: Mayr; Meier etc. Dabei bedeutet <fc #​008000>​^M</​fc>​ dass das Suchmuster mit '​M'​ beginnt, wobei durch den Schalter <fc #​008000>​-i</​fc>​ die Gross- und Kleinschreibung ignoriert wird; als nächster Buchstabe entweder ein '​a'​ oder ein '​e'​ erwartet wird <fc #​008000>​[ae]</​fc>;​ der darauf folgende Buchstabe entweder ein '​i'​ oder ein '​y'​ ist <fc #​008000>​[iy]</​fc>;​ danach ein '​e'​ kommen kann (aber nicht muss) <fc #​008000>​e\{0,​1\}</​fc>​ und das Wort mit einem '​r'​ endet <fc #​008000>​r\></​fc>:​\\ \\ <xterm>$ <fc #​008000>​grep -i '​^M[ae][iy]e\{0,​1\}r\>'​ ~/​Desktop/​Deutsch.dic</​fc>​  
-<fc #4682b4>maier+<fc #0000FF>maier
 mayer mayer
 meier meier
 meyer meyer
 mair mair
-mayr</​fc></​xterm2>+mayr</​fc></​xterm>
  
  --- //pronto 2010/04/06 23:16//  --- //pronto 2010/04/06 23:16//
 {{keywords>​linux osx mac debian unix syntax beispiele rekursiv}} {{keywords>​linux osx mac debian unix syntax beispiele rekursiv}}
tux/grep.1301580533.txt.gz (27858 views) · Zuletzt geändert: 2011/04/16 22:14 (Externe Bearbeitung)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0