Eliminar el nuevo carácter de línea de la secuencia entrante utilizando sed

Soy nuevo en shell scripting y estoy tratando de eliminar el carácter de nueva línea de cada línea usando SED. esto es lo que he hecho hasta ahora:

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

Elimina solo el caracter de la nueva linea. En algún lugar encontré este comando:

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

pero da: "ba: evento no encontrado".

si lo hago:

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

luego da el resultado correcto, pero estoy buscando algo mejor, ya que no estoy seguro de cuántos caracteres nuevos obtendré cuando ejecuto el script. El flujo entrante es de echo o printf o alguna variable en el script. Gracias por adelantado