Оболочка: добавление новой строки между данной строкой текста - PullRequest
1 голос
/ 25 марта 2009

Что этот вопрос не спрашивает, как добавить новую строку ниже или выше каждой строки, которая соответствует шаблону.

Что я пытаюсь сделать, это добавить новую строку между шаблоном, который существует в одной строке.

Вот пример.

перед:

Понедельник: 8 am-10pm

после

Понедельник:

8 * 1024 утра-10 вечера *

Таким образом, в этом случае вставляйте новую строку после каждого шаблона «понедельник».

Ответы [ 4 ]

6 голосов
/ 25 марта 2009
echo 'Monday:8am-10pm' | sed -e 's/^Monday:/&\n/'

Для символов до ':':

echo 'Monday:8am-10pm' | sed -e 's/^[^:]*:/&\n/'
5 голосов
/ 25 марта 2009
sed 's/Monday:/&\n/g'
2 голосов
/ 25 марта 2009
sed 's/Monday:/&\n\n/g'

заменит их (предположим, что вы хотите 2 новых строки, как показано выше)

0 голосов
/ 25 марта 2009

Использование sed:

echo "Monday:8am-10pm" | sed -e 's/:/:\n\n/'
...