удаление символа новой строки из входящего потока с помощью sed

Я новичок в сценариях оболочки и пытаюсь удалить символ новой строки из каждой строки с помощью SED. вот что я сделал до сих пор:

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

удаляет только первый символ новой строки. Я где-то нашел эту команду:

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

, но она выдает: «ba: Event not found».

если я это сделаю:

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

то он выдаст правильный вывод, но я ищу что-нибудь получше, так как я не уверен, сколько новых символов я получу при запуске скрипта. входящий поток исходит из эха или printf или какой-либо переменной в скрипте. Заранее спасибо

35
задан nav_jan 16 May 2012 в 12:48
поделиться