Wichtige Optionen
Kombinieren Sie die verschiedenen Optionen des `grep`-Befehls, um den gewünschten Text zu suchen.
1. Grundlegende Suche
2. Suchoptionen
3. Ausgabeoptionen
4. Rekursive Suche
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`grep` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Grundlagen regulärer Ausdrücke
Der `grep`-Befehl unterstützt reguläre Ausdrücke (Regular Expressions) für eine leistungsstarke Textsuche. Mit regulären Ausdrücken können auch komplexe Muster leicht gefunden werden.
| Zeichen | Beschreibung | Beispiel |
|---|---|---|
| . | Beliebiges einzelnes Zeichen (außer Zeilenumbruch) |
a.b (acb, amb usw.)
|
| * | Vorheriges Zeichen null oder mehr Mal |
ab*c (ac, abc, abbc usw.)
|
| + | Vorheriges Zeichen ein oder mehr Mal |
ab+c (abc, abbc usw.)
|
| ? | Vorheriges Zeichen null oder einmal |
ab?c (ac, abc)
|
| ^ | Anfang der Zeile |
^start (Zeilen, die mit 'start' beginnen)
|
| $ | Ende der Zeile |
end$ (Zeilen, die mit 'end' enden)
|
| [abc] | Eines der Zeichen in Klammern |
[aeiou] (Vokale)
|
| [a-z] | Eines der Zeichen im Bereich |
[0-9] (Ziffern)
|
| [^abc] | Ein Zeichen, das nicht in Klammern ist |
[^0-9] (Nicht-Ziffern)
|
| \b | Wortgrenze |
\bword\b (genau das Wort 'word')
|
| | | ODER-Operator (eines von zwei Mustern) |
cat|dog ('cat' oder 'dog')
|
Grundlegende reguläre Ausdrücke (BRE) und Erweiterte reguläre Ausdrücke (ERE)
grep verwendet standardmäßig BRE. Um Zeichen wie +, ?, |, (, ) mit ihrer speziellen Bedeutung zu verwenden, müssen sie mit einem Backslash (\) maskiert werden. Mit der Option -E wird der ERE-Modus aktiviert, in dem diese Zeichen ohne Backslash verwendet werden können. Die Option -P bietet noch leistungsfähigere PCRE.
Anwendungsbeispiele
Üben Sie die Textsuche anhand praktischer Anwendungsbeispiele des `grep`-Befehls.
Suche nach 'error' in einer Logdatei
grep 'error' /var/log/syslog
Gibt alle Zeilen aus, die die Zeichenkette 'error' in der `syslog`-Datei enthalten.
Suche nach 'failed' ohne Beachtung der Groß-/Kleinschreibung und Ausgabe der Zeilennummer
grep -in 'failed' /var/log/auth.log
Sucht nach 'failed' ohne Berücksichtigung der Groß-/Kleinschreibung und zeigt die Zeilennummer zusammen mit dem Ergebnis an.
Nur Zeilen ohne bestimmtes Muster ausgeben
grep -v '^#' /etc/nginx/nginx.conf
Gibt alle Zeilen der Datei `nginx.conf` aus, außer denen, die mit einem Kommentar (#) beginnen.
Suche nach 'server_name' in '.conf'-Dateien, einschließlich Unterverzeichnissen
grep -r 'server_name' *.conf
Sucht rekursiv nach dem Muster 'server_name' in Dateien mit der Erweiterung '.conf' im aktuellen Verzeichnis und allen Unterverzeichnissen.
Bestimmten Prozess finden (Kombination aus ps und Pipe)
ps aux | grep apache2
Filtert und überprüft nur die 'apache2'-bezogenen Prozesse aus dem Ergebnis des `ps aux`-Befehls.
Suche nach 'warning' oder 'critical' in mehreren Dateien
grep -E 'warning|critical' /var/log/syslog /var/log/kern.log
Sucht mit dem ODER-Operator (|) des regulären Ausdrucks nach 'warning'- oder 'critical'-Nachrichten in mehreren Logdateien.