Tronar
aus Überzeugung altmodisch
Ich habe hier eine ziemlich einfache Aufgabe, aber mir fallen nur sehr umständliche Lösungen ein. Kann einer von Euch das elegant mit sed oder perl oder so?
Ich habe eine größere Zahl von ASCII-Files, man könnte sagen, Log-Files. Sie bestehen aus "Events" unterschiedlicher Länge, wobei die ersten vier Buchstaben der ersten Zeile jedes Events "UQMD" lauten. Weil das erzeugende Programm plötzlich abgebrochen wurde, ist in fast allen Files das letzte Event unvollständig. Wie kann ich das aus allen Files automatisiert löschen, also alle Zeilen ab dem letzten Auftreten von "UQMD" am Zeilenanfang bis Dateiende?
Ergänzende Informationen: Dateigröße typisch 50 MB, jeweils typisch 1000 Zeilen pro Event, Zeilenlänge < 200 Zeichen. Es wäre auch okay, die beschnittenen Dateien gleich in eine einzige große Datei zusammenzufassen, die dann ein paar GB groß wäre.
Ich habe eine größere Zahl von ASCII-Files, man könnte sagen, Log-Files. Sie bestehen aus "Events" unterschiedlicher Länge, wobei die ersten vier Buchstaben der ersten Zeile jedes Events "UQMD" lauten. Weil das erzeugende Programm plötzlich abgebrochen wurde, ist in fast allen Files das letzte Event unvollständig. Wie kann ich das aus allen Files automatisiert löschen, also alle Zeilen ab dem letzten Auftreten von "UQMD" am Zeilenanfang bis Dateiende?
Ergänzende Informationen: Dateigröße typisch 50 MB, jeweils typisch 1000 Zeilen pro Event, Zeilenlänge < 200 Zeichen. Es wäre auch okay, die beschnittenen Dateien gleich in eine einzige große Datei zusammenzufassen, die dann ein paar GB groß wäre.