The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"вопрос по sed"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"вопрос по sed"  –1 +/
Сообщение от TheFatal (ok) on 14-Июн-12, 17:07 
проблема такая, есть файл:

some {
}
{
some}
}
}

изначально была задача, вставить блок текста перед последней }, для этого просто вставлял текст перед последней строкой, вот так:
bsd# gsed '$iserver' /tmp/sedtest
some {
}
{
some}
}
server
}

но вот если в текста } не последняя, например последняя строка - пробел, то данная конструкция не работает :(
подскажите пожалуйста, как вставить текст после последней "}"

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "вопрос по sed"  +/
Сообщение от sdog (ok) on 14-Июн-12, 23:43 
как вариант, используя tac
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "вопрос по sed"  +/
Сообщение от LSTemp (ok) on 15-Июн-12, 14:51 
>[оверквотинг удален]
> some {
> }
> {
> some}
> }
> server
> }
> но вот если в текста } не последняя, например последняя строка -
> пробел, то данная конструкция не работает :(
> подскажите пожалуйста, как вставить текст после последней "}"

удалить пустые строки?
sed -e '/^\s*$/d'

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "вопрос по sed"  +/
Сообщение от TheFatal (ok) on 19-Июн-12, 16:55 
>[оверквотинг удален]
>> {
>> some}
>> }
>> server
>> }
>> но вот если в текста } не последняя, например последняя строка -
>> пробел, то данная конструкция не работает :(
>> подскажите пожалуйста, как вставить текст после последней "}"
> удалить пустые строки?
> sed -e '/^\s*$/d'

все работает, спасибо

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "вопрос по sed"  +/
Сообщение от LSTemp (ok) on 25-Июн-12, 23:47 
> все работает, спасибо

не понимаю за что. ибо сущность вопроса для меня так и не ясна. особенно если учитывать наличие парных скобок в Вашем первоначальном вопросе. что/для_чего - хрен знает.

мой ответ заключался в том, что если мешают пустые строки - то удалите их, но очевидно, что это только частичное решение задачи.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "вопрос по sed"  +/
Сообщение от Andrey Mitrofanov on 26-Июн-12, 21:49 
Без tac-а, без удаления пустых. Крутое sed-о-мазо:

$ seq 1 3|tr 3 }|sed '/}/{x;p;x;h};/}/!H;${x;i\
YYY
;p};d'

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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