Entfernen eines neuen Zeilenzeichens aus dem eingehenden Stream mit sed

Ich bin neu in der Shell-Skripterstellung und ich versuche, neue Zeilenzeichen mit SED aus jeder Zeile zu entfernen. das habe ich bisher gemacht:

printf "{new\nto\nlinux}" | sed ':a;N;s/\n/ /g'

Entfernt nur das neue Zeilenzeichen. Ich habe irgendwo diesen Befehl gefunden:

printf "{new\nto\nlinux}" | sed ':a;N;$!ba;s/\n/ /g'

aber es gibt: "ba: Ereignis nicht gefunden."

wenn ich mache:

printf "{new\nto\nlinux}" | sed ':a;N;s/\n/ /g' | sed ':a;N;s/\n/ /g'

dann gibt es die richtige Ausgabe, aber ich suche etwas Besseres, da ich nicht sicher bin, wie viele neue Zeichen ich bekommen werde, wenn ich das Skript starte. Der eingehende Stream stammt von echo oder printf oder einer Variablen im Skript. Danke im Voraus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage