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
* English - detected
* English
* English
<javascript:void(0);>