[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: помогите с sed и подпрограммой



On 19.06.2013 12:56, alexander barakin wrote:
$ sed -r 's/(userPassword:: )(.*)/echo -n "\1"; echo \2 | base64 -d/e' file
Спасибо большое за такую подсказку. Это как раз то что я искал.

Ваша команда работает, правда мне почему то захотелось её переписать вот так

sed -i '/^userPassword/s/\(^userPassword:: \)\(.*\)/echo -n "\1"; echo "\2" | base64 -d/e' /tmp/passwd

Спору нет у вас красивей, но пока я не запомнил -r флаг, хотя он мне и встречался. Может скажите доброе слово в защиту -r ?

Еще более чем странно, что я потратил уже целый рабочий день на то, чтобы заменить подстроку в файле. Прямо как то стрёмно становиться с прогнозами.


Есть несколько вопросов:

1. если вызывать sed без -r, то нужно только экранировать
    Символы ‘?’, ‘+’, круглые скобки, {}
            символом \ если вы хотите использовать их как специальные символы
    и все ? в этом и есть его специальное предназначение - улучшать вид рэгэкспа ?

2. Не могу найти ссылку на документацию по использованию /e
Для чего конкретно он используется почти в самом конце - не execute ли случайно ?

3. Где можно почитать по ; как разделителе команд оболочки в sed не подскажите ?
Или это относиться к shell ) ?

Остальное все понятно вроде.
А я уже почте сделал на ruby ). Но пока не сделал еще где то ошибка есть.
-- 
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru 

Reply to: