LINUX.ORG.RU

ed работа с шаблонами


0

0

Подскажите пожалуйста, пытаюсь произвести вставку (до)после шаблона в текстовом файле с помощью ed
Последовательность операций такова
пока не конец файла {
1. найти шаблон
2. добавить строчку(ки) с текстом
}

Из того, что я понял в мануале это следующая конструкция

g/pattern to search/a
text to insert\
more text to insert\
.

Но к сожалению такая конструкция не срабатывает.
Последовательность
s/pattern/pattern\ntext to insert\ntext to insert/g
Нужного эффекта не даёт, так как содержит собственно патерн и приводит к зацикливанию.

Пожалуйста, дайте рабочий пример именно с вставкой, т.к. однооператорные команды типа p,d работают и примеры я видел

P.S.
Не предлагайте использовать sed, perl и иже с ними.


Урааа

Сам допёр

Если кому интересно, то вот решение

#ed -s filename
>g/pattern/a\

>my\

>long\

>text\

>for\

>insert\

>goes\

>here\

>.

>w

>q


Решёткой обозначил вызов в шелл
Значком > команды ed

В скрипте выглядит вот так
echo -e "g/pattern/a\\ \nmy\\ \nlong\\ \ntext\\ \ngoes\\ \nhere\\ \n.\nw\nq\n" | ed -s file_to_edit

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