URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4664
[ Назад ]

Исходное сообщение
"Символ перехода на новую строку для sed"

Отправлено fa , 21-Сен-05 12:51 
Здравствуйте.
Есть файл:
asdf|asdf|asdf|asdf
Как его переформатировать в:
asdf
asdf
asdf
asdf

sed "s/\|/вот_тут_хочу_вставить_символ_перехода_на_новую_строку/g" file

Что делать? Есть ли такой управляющий символ для sed
Зараннее спасибо за ответы.


Содержание

Сообщения в этом обсуждении
"Символ перехода на новую строку для sed"
Отправлено San , 21-Сен-05 12:54 
>Здравствуйте.
>Есть файл:
>asdf|asdf|asdf|asdf
>Как его переформатировать в:
>asdf
>asdf
>asdf
>asdf
>
>sed "s/\|/вот_тут_хочу_вставить_символ_перехода_на_новую_строку/g" file
>
>Что делать? Есть ли такой управляющий символ для sed
>Зараннее спасибо за ответы.

echo "asdf|asdf|asdf|asdf" | sed "s/|/\n/g"


"Символ перехода на новую строку для sed"
Отправлено fa , 21-Сен-05 13:09 
>echo "asdf|asdf|asdf|asdf" | sed "s/|/\n/g"

filin# echo "asdf|asdf|asdf|asdf" | sed "s/|/\n/g"
asdfnasdfnasdfnasdf

Заменяет | на n. Что у меня не так? Система FreeBSD 5.3


"Символ перехода на новую строку для sed"
Отправлено fa , 21-Сен-05 13:17 
perl -pe "s/\|/\n/g" file все делает правильно.



"Символ перехода на новую строку для sed"
Отправлено allez , 21-Сен-05 14:31 
>>echo "asdf|asdf|asdf|asdf" | sed "s/|/\n/g"
>
>filin# echo "asdf|asdf|asdf|asdf" | sed "s/|/\n/g"
>asdfnasdfnasdfnasdf
>
>Заменяет | на n. Что у меня не так? Система FreeBSD 5.3
>


# echo "asdf|asdf|asdf|asdf" | tr "|" "\n"
asdf
asdf
asdf
asdf


"Символ перехода на новую строку для sed"
Отправлено madskull , 21-Сен-05 15:08 
>>echo "asdf|asdf|asdf|asdf" | sed "s/|/\n/g"
>
>filin# echo "asdf|asdf|asdf|asdf" | sed "s/|/\n/g"
>asdfnasdfnasdfnasdf
>
>Заменяет | на n. Что у меня не так? Система FreeBSD 5.3
>

Возьми скрипт sed'а в одинарные кавычки
echo "asdf|asdf|asdf|asdf" | sed 's/|/\n/g'


"Символ перехода на новую строку для sed"
Отправлено allez , 21-Сен-05 15:14 
>Возьми скрипт sed'а в одинарные кавычки
>echo "asdf|asdf|asdf|asdf" | sed 's/|/\n/g'


Боюсь, что не поможет:

$ echo "asdf|asdf|asdf|asdf" | sed 's/|/\n/g'
asdfnasdfnasdfnasdf

Опробовано на FreeBSD 4.9 и Red Hat 7.2

P.S. Связка "echo | tr" нормально работала в обоих случаях.


"Символ перехода на новую строку для sed"
Отправлено Simps , 21-Сен-05 18:47 
>>Возьми скрипт sed'а в одинарные кавычки
>>echo "asdf|asdf|asdf|asdf" | sed 's/|/\n/g'
>
>
>Боюсь, что не поможет:
>
>$ echo "asdf|asdf|asdf|asdf" | sed 's/|/\n/g'
>asdfnasdfnasdfnasdf
>
>Опробовано на FreeBSD 4.9 и Red Hat 7.2
>
>P.S. Связка "echo | tr" нормально работала в обоих случаях.

man sed

radius1[simps]:~ # echo "asdf|asdf|asdf|asdf" | sed 'y/|/\n/'



"Символ перехода на новую строку для sed"
Отправлено fa , 21-Сен-05 19:05 
>man sed
>
>radius1[simps]:~ # echo "asdf|asdf|asdf|asdf" | sed 'y/|/\n/'

Большое спасибо



"Символ перехода на новую строку для sed"
Отправлено allez , 22-Сен-05 09:57 
>man sed
>
>radius1[simps]:~ # echo "asdf|asdf|asdf|asdf" | sed 'y/|/\n/'


Во FreeBSD заработало, в Red Hat - нет...