Hallo, da bin ich
Ich vermute, ohne AWK ist es alles klar.
Mit AWK ist auch alles klar, wenn man weiß weshalb.
Denn du bekommst schon die letzte Zeile ausgegeben ... nur ist das nicht das was du willst.
Das AWK-Script hängt an jede Zeile mit dem Tag, bei der Ausgabe zwei Newline ('\n') an (anstatt eines per default). Zeilen ohne das Tag bekommen gar kein Newline angehängt, sondern nur ein Leerzeichen. Somit wird effektiv die nächste Zeile hinten angehängt.
Wenn nun deine letzte Zeile das Tag enthält, werden ihr am Ende zwei Newline-Zeichen angehängt. D.h. die Ausgabe des AWK-Scripts endet in diesem Fall mit:
Wenn du dann mit sed die letzte Zeile willst, bekommst du sie auch, aber du willst eigentlich die vorletzte Zeile.
Die einfachste Lösung wäre wohl nicht zwei sondern nur ein Newline-Zeichen zu verwenden. Aber das kommt auf die genaue Problemstellung an.
btw: Whitespace ist auch existent ... man sieht ihn halt so schlecht.
Tipp: Die Ausgabe durch `od -c' zu pipen ist in solchen Fällen oft sehr hilfreich.