LINUX.ORG.RU

Разбить очень длинную строку по разделителю

 , , ,


0

1

Знаю, что боян и за такие вопросы линуксятника давно пора банить, но нужда.

Подскажите пожалуйста, как с помощью sed/awk или подобного разбить строку на подстроки, где в качестве разделителя выступает символ «+»?

После разбивки вместо плюса просто перевод строки.

★★★★★

Последнее исправление: CYB3R (всего исправлений: 2)

$ echo -n 'a+b+c' | awk 'BEGIN{RS="+"}{print}'
a
b
c
d ★★★★
()
$ echo a+b+c |tr \+ \\n
a
b
c
anonymous
()
Ответ на: комментарий от yoghurt

но что там гнутого?

использование '\n' в подстановке.
man 1p sed:

  The meaning of  a  <backslash>  immediately  followed  by  any character
other than '&', <backslash>, a  digit, or the delimiter  character  used  for
this  command,  is  unspecified.
Попробуй, например, в FreeBSD.

ABW ★★★★★
()
Ответ на: комментарий от Twissel

sed 'y/... (аналог tr но с поддержкой UTF8) вместо sed 's/ ... будет правильнее

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.