Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| home-harmening:kommandoreferenz:dateiverwaltung:grep [2025/02/04 13:14] – charmening | home-harmening:kommandoreferenz:dateiverwaltung:grep [2025/02/04 13:39] (aktuell) – [grep mit Pipes (|) kombinieren] charmening | ||
|---|---|---|---|
| Zeile 30: | Zeile 30: | ||
| \\ | \\ | ||
| ==== Beispiele zur Nutzung von grep ==== | ==== Beispiele zur Nutzung von grep ==== | ||
| + | \\ | ||
| === Einfache Suche === | === Einfache Suche === | ||
| - | <code bash> grep " | + | Sucht nach „root“ in der Datei / |
| + | <code bash> grep " | ||
| \\ | \\ | ||
| === Groß-/ | === Groß-/ | ||
| - | <code bash> grep -i " | + | Findet „error“, |
| + | <code bash> grep -i " | ||
| \\ | \\ | ||
| === mgekehrte Suche (-v) === | === mgekehrte Suche (-v) === | ||
| - | <code bash> grep -v " | + | Zeigt alle Zeilen, die nicht „192.168.1.1“ enthalten.\\ |
| + | <code bash> grep -v " | ||
| \\ | \\ | ||
| === Rekursive Suche in Verzeichnissen (-r) === | === Rekursive Suche in Verzeichnissen (-r) === | ||
| - | <code bash> grep -r " | + | Durchsucht alle Dateien in / |
| + | <code bash> grep -r " | ||
| \\ | \\ | ||
| === Anzahl der Treffer (-c) === | === Anzahl der Treffer (-c) === | ||
| - | <code bash> grep -c " | + | Gibt nur die Anzahl der Treffer aus.\\ |
| + | <code bash> grep -c " | ||
| \\ | \\ | ||
| === Zeilennummern anzeigen (-n) === | === Zeilennummern anzeigen (-n) === | ||
| - | <code bash> grep -n " | + | Gibt Zeilennummern aus, wo „MainFunction“ in code.c steht.\\ |
| + | <code bash> grep -n " | ||
| \\ | \\ | ||
| === Nur Dateinamen mit Treffern anzeigen (-l) === | === Nur Dateinamen mit Treffern anzeigen (-l) === | ||
| - | <code bash> grep -l " | + | Zeigt nur die Namen der Dateien, die „password“ enthalten.\\ |
| + | <code bash> grep -l " | ||
| \\ | \\ | ||
| === Nur das gefundene Wort anzeigen (-o) === | === Nur das gefundene Wort anzeigen (-o) === | ||
| - | <code bash> grep -o " | + | Gibt nur die gefundenen Warncodes aus (WARN123, WARN456…).\\ |
| + | <code bash> grep -o " | ||
| \\ | \\ | ||
| === Ganze Wörter suchen (-w) === | === Ganze Wörter suchen (-w) === | ||
| - | <code bash> grep -w " | + | Findet „is“, aber nicht „this“ oder „his“.\\ |
| + | <code bash> grep -w " | ||
| \\ | \\ | ||
| === Kontext um Treffer anzeigen (-A, -B, -C) === | === Kontext um Treffer anzeigen (-A, -B, -C) === | ||
| - | <code bash> grep -A 3 " | + | Zeigt die Zeile mit „ERROR“ und die 3 Zeilen danach.\\ |
| - | <code bash> grep -B 2 "Login failed" | + | <code bash> grep -A 3 "ERROR" |
| + | \\ | ||
| + | Zeigt die Zeile mit „Login failed“ und die **2 Zeilen davor**.\\ | ||
| + | <code bash> grep -B 2 "Login failed" | ||
| + | \\ | ||
| + | Zeigt die Treffer plus **2 Zeilen davor und danach**. | ||
| + | <code bash> grep -C 2 " | ||
| \\ | \\ | ||
| ==== Reguläre Ausdrücke mit grep -E (Erweiterte Suche) ==== | ==== Reguläre Ausdrücke mit grep -E (Erweiterte Suche) ==== | ||
| \\ | \\ | ||
| - | Die -E Option erlaubt erweiterte reguläre Ausdrücke (entspricht egrep). | + | Die -E Option erlaubt erweiterte reguläre Ausdrücke (entspricht egrep).\\ |
| - | Regulärer Ausdruck Bedeutung | + | |**Regulärer Ausdruck**|**Bedeutung**| |
| - | . Beliebiges Zeichen (außer Zeilenumbruch) | + | |.|Beliebiges Zeichen (außer Zeilenumbruch)| |
| - | ^ Beginn einer Zeile | + | |%%^%%|Beginn einer Zeile| |
| - | $ Ende einer Zeile | + | |$|Ende einer Zeile| |
| - | [abc] Entweder „a“, „b“ oder „c“ | + | |[abc]|Entweder „a“, „b“ oder „c“| |
| - | [a-z] Ein Kleinbuchstabe von „a“ bis „z“ | + | |[a-z]|Ein Kleinbuchstabe von „a“ bis „z“| |
| - | [^0-9] Kein Ziffernzeichen (0-9) | + | |%%[^0-9]%%|Kein Ziffernzeichen (0-9)| |
| - | * 0 oder mehr Vorkommen des vorherigen Zeichens | + | |*|0 oder mehr Vorkommen des vorherigen Zeichens| |
| - | + 1 oder mehr Vorkommen des vorherigen Zeichens | + | |+|1 oder mehr Vorkommen des vorherigen Zeichens| |
| - | ? 0 oder 1 Vorkommen | + | |?|0 oder 1 Vorkommen| |
| - | {n, | + | |{n,m}|Zwischen n und m Wiederholungen| |
| - | foo|bar Findet „foo“ oder „bar“ | + | |foo\bar|Findet „foo“ oder „bar“| |
| + | \\ | ||
| === Beispiele für reguläre Ausdrücke === | === Beispiele für reguläre Ausdrücke === | ||
| - | <code bash> grep -E " | + | Sucht nach Zeilen, die mit „user“ + **2 Ziffern** beginnen (`user01`, `user99`). |
| - | + | <code bash> grep -E "^user[0-9]{2}" | |
| - | ==== 5. grep mit Pipes (|) kombinieren ==== | + | \\ |
| - | + | Findet Zeilen mit „error“, | |
| - | grep wird oft mit anderen Kommandos kombiniert: | + | <code bash> grep -E " |
| + | \\ | ||
| + | | ||
| + | <code bash> grep -E " | ||
| + | \\ | ||
| + | ====grep mit Pipes (|) kombinieren ==== | ||
| + | grep wird oft mit anderen Kommandos kombiniert.\\ | ||
| + | \\ | ||
| === ps und grep: Laufende Prozesse filtern === | === ps und grep: Laufende Prozesse filtern === | ||
| - | <code bash> ps aux | grep " | + | Zeigt nur Firefox-Prozesse. \\ |
| + | <code bash> ps aux | grep " | ||
| + | \\ | ||
| === ls und grep: Dateien filtern === | === ls und grep: Dateien filtern === | ||
| - | <code bash> ls -l | grep " | + | Zeigt nur Shell-Skripte (.sh am Ende). \\ |
| + | <code bash> ls -l | grep " | ||
| === dmesg und grep: Kernel-Logs durchsuchen === | === dmesg und grep: Kernel-Logs durchsuchen === | ||
| - | <code bash> dmesg | grep -i " | + | \\ |
| + | Zeigt nur USB-bezogene Meldungen. \\ | ||
| + | <code bash> dmesg | grep -i " | ||
| - | ==== 6. Fazit ==== | ||
| - | grep ist ein extrem nützliches Werkzeug für die Textsuche in Linux. | ||
| - | Mit den verschiedenen Optionen kann man gezielt nach bestimmten Mustern suchen und den Kontext der Treffer erweitern. | ||