Extrahieren Sie Text zwischen zwei Zeichenfolgen in verschiedenen Zeilen

Ich habe eine große E-Mail-Datei mit den folgenden zufälligen Hosts:

......
HOSTS: test-host,host2.domain.com,
host3.domain.com,another-testing-host,host.domain.
com,host.anotherdomain.net,host2.anotherdomain.net,
another-local-host, TEST-HOST

DATE: August 11 2015 9:00
.......

Die Hosts werden immer durch ein Komma getrennt, aber sie können in eine, zwei oder mehrere Zeilen aufgeteilt werden (ich kann das nicht kontrollieren, das machen E-Mail-Clients leider).

So muss ich den gesamten Text zwischen der Zeichenfolge "HOSTS:" und der Zeichenfolge "DATE:" extrahieren, ihn umbrechen und die Kommas durch neue Zeilen ersetzen, wie folgt:

test-host
host2.domain.com
host3.domain.com
another-testing-host
host.domain.com
host.anotherdomain.net
host2.anotherdomain.net
another-local-host
TEST-HOST

So weit bin ich darauf gekommen, aber ich verliere alles, was mit "HOSTS" auf der gleichen Linie ist:

sed '/HOST/,/DATE/!d;//d' ${file} | tr -d '\n' | sed -E "s/,\s*/\n/g"

Antworten auf die Frage(14)

Ihre Antwort auf die Frage