BEGIN { row = 1; log_beginn = 0 } function eof() { rows[row++] = sprintf("%-10s\t%-20s\t%-20s\t%-10s\t",modul, start, ende, status) } /^-- Start [A-Z][^a-z]/ { if (log_beginn != 0) { ende = "" eof() } log_beginn = 1; modul = $3; start = $6" "$7; next } /^Aktion / { status = "läuft gerade..." next } /(^Ein Fehler ist aufgetreten|^Es ist ein Fehler aufgetreten)/ { status = "Fehler"; next } /^-- Ende [A-Z][^a-z]/ { ende = $6" "$7; if (status !~ /Fehler/) { status = "Erfolg" } eof(); log_beginn = 0; next } END { if (log_beginn != 0) { ende = "" eof() } for (i = 1; i <= row - 1; i++) { print rows[i] } }