The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Вставить текст в указанное место, !*! rx10nth, 06-Фев-11, 18:59  [смотреть все]
Доброго времени, никак не могу нагуглить, как бы с помощью sed/awk реализовать подобное:

Есть конфиг вида

Open
    string
    string
    string
/Close
...
Open
    string
    string
    string
/Close

Нужно между каждым open и close, после определенной 'string' вставить строку с табуляцией в начале. string - желательно регулярка, но можно и просто вхождение, либо, как вариант, просто номер строки между каждыми открывающими и закрывающими директивами.
---
На крайняк попроще, просто вставить строку текста с табуляцией после каждого Open в конфиге.
Заранее благодарен.

  • Вставить текст в указанное место, !*! phpcoder, 20:13 , 06-Фев-11 (1)
    > Доброго времени, никак не могу нагуглить, как бы с помощью sed/awk реализовать
    > подобное:

    В sed есть a, в awk просто смотри какая у тебя строка и если та что нужна то дополнительно выводи то что тебе нужно.


  • Вставить текст в указанное место, !*! a, 22:55 , 06-Фев-11 (3)
    >[оверквотинг удален]
    >  string
    > /Close
    > Нужно между каждым open и close, после определенной 'string' вставить строку с
    > табуляцией в начале. string - желательно регулярка, но можно и просто
    > вхождение, либо, как вариант, просто номер строки между каждыми открывающими и
    > закрывающими директивами.
    > ---
    > На крайняк попроще, просто вставить строку текста с табуляцией после каждого Open
    > в конфиге.
    > Заранее благодарен.

    echo -e "Open\nstring1\nstringa\nstring\n/Close\nstring1\nstring" | awk -v STATE=OUT '{ if ( $0 ~ /Open/ ) { STATE="IN" }; if ( $0 ~ /\/Close/ ) { STATE="OUT" }; if ( STATE=="IN" && $0 ~/string1/ ) { print $0; print "\tmy_string"; } else { print $0 } }'

    Open
    string1
    stringa
    string
    /Close
    string1
    string


    Open
    string1
            my_string
    stringa
    string
    /Close
    string1
    string




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру