Betrachten Sie das folgende Spielzeugbeispiel:
this is a line
this line contains FOO
this line is not blank
This line also contains FOO
Some random text
This line contains FOO too
Not blank
Also not blank
More random text
FOO!
Yet more random text
FOO!
Ich möchte also die Ergebnisse eines Grep für FOO, aber mit der zusätzlichen Falte, dass Linien, die den übereinstimmenden Linien folgen, enthalten sein sollten, solange sie nicht leer sind und selbst kein FOO enthalten. Die Übereinstimmungen würden also wie folgt aussehen, wobei die verschiedenen Übereinstimmungen getrennt wären:
MATCH 1
this line contains FOO
this line is not blank
MATCH 2
This line also contains FOO
MATCH 3
This line contains FOO too
Not blank
Also not blank
MATCH 4
FOO!
Yet more random text
MATCH 5
FOO!
Bonuspunkte (bildlich gesprochen) für ein einfaches einzeiliges Skript, das über die Befehlszeile ausgeführt werden kann.
ADDENDUM: Das Hinzufügen einer laufenden Anzahl der Übereinstimmungsnummern wäre sehr praktisch, wenn es nicht zu schwierig ist.