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 |