Versuch mit awk
Code: Alles auswählen
awk -F'[".]' '/<Date Value=/{fundstelle= $4;} {rest=rest "\n" $0 } END{print "Running;" fundstelle rest}' test.txt
-F'[abc]' bedeutet jedes der genannten Zeichen abc gilt als Feldtrenner, d.h in dem obrigen Fall sind Anführungszeichen oder Punkt Feldtrenner, warum die? Im Text direkt links bzw rechts von der 2018 zu finden.
Dann /<Date Value=/ das findet nur die Zeilen, die das entsprechende Muster haben, hier merkt awk sich jetzt Feld 4 im Fund, via $Zahl kann man die einzelnen Felder nutzen, $4 sollte 2018 ergeben.
Hat man die {} ohne vorangestelltes Muster, wird einfach jede Zeile komplett bearbeitet, hier wird sie an den schon bekannten Rest angehängt, $0 ist die vollständige Zeile.
Und wenn alles aus der Datei eingelesen wurde, gibt man via END noch einmalig das Wort und die gemerkten Sachen aus.