removendo o novo caractere de linha do fluxo de entrada usando sed

Eu sou novo em scripts de shell e estou tentando remover o novo caractere de linha de cada linha usando o SED. isto é o que eu fiz até agora:

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

remove apenas o caractere de nova linha Ist. Eu em algum lugar encontrei este comando:

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

mas dá: "ba: Evento não encontrado."

se eu fizer:

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

Em seguida, ele dá saída correta, mas eu estou procurando algo melhor como não tenho certeza quantos novos personagem eu vou ficar quando eu executar o script. fluxo de entrada é de eco ou printf ou alguma variável no script. desde já, obrigado

questionAnswers(2)

yourAnswerToTheQuestion