Mit grep bestimmte Zeilen und Folgezeilen ausgeben

Hallo,

ich möchte mit grep (oder egrep oder einem anderen Suchwerkzeug) in einer Datei nach Zeilen mit einem bestimmten String suchen und mir dann diese Zeile und jeweils die beiden nächsten Zeilen ausgeben lassen. Geht das irgendwie, oder muss ich mir dafür ein Perl-Script o.ä. schreiben? Falls ja, wie stelle ich das am besten an (bin nicht soooo bewandert in Perl…:wink:

Vielen Dank im Voraus für Eure Hilfe.

Hallo Sven,

ich möchte mit grep (oder egrep oder einem anderen
Suchwerkzeug) in einer Datei nach Zeilen mit einem bestimmten
String suchen und mir dann diese Zeile und jeweils die beiden
nächsten Zeilen ausgeben lassen.

grep -A 2 suchmuster datei

Zur Erklärung siehe

man grep

Viele Grüße
Marvin

Hallo,

danke für die Antwort, das hatte ich aber auch schon gefunden. Doch auf dem System funktioniert es irgendwie nicht… Bekomme immer die Meldung „grep: illegal option – A“!?!

Muss ich ein bestimmtes grep verwenden?

MFG Sven

Hallo Sven,

Doch auf dem System funktioniert es irgendwie nicht… Bekomme
immer die Meldung „grep: illegal option – A“!?!

Wundert mich doch sehr. Aber was hast Du denn für ein System?

Muss ich ein bestimmtes grep verwenden?

Wenn Du damit grep, egrep oder fgrep meinst, würde ich sagen, nein. Bei allen drei sagt die manpage, daß es die Option -A gibt (kannst Du auch in der Langform

--after-context=NUM

benutzen, aber daran liegt es bestimmt nicht)
Kommt denn die Option -A in deiner manpage vor? Wenn ja, würde ich sagen, der Fehler liegt woanders. Poste mal genau das Kommando, das Du absetzt und ob -A laut deiner manpage erlaubt sein müsste.

Viele Grüße
Marvin

Hallo Marvin,

habs gefunden! War nen Solaris-System. Das grep darauf kennt die Option -A nicht. Mit dem GNU grep geht´s…

Trotzdem danke für Deine Hilfe

MFG Sven