On 19.06.2013 15:37, alexander barakin wrote:
Можно еще маленький вопросик. Решил переписать для большей
универсальности - работает:
sed -i '/^.*::.*/s/\(^.*:: \)\(.*\)/echo -n "\1"; echo "\2" | base64
-d/e' /tmp/passwd
Далее решил потренироваться и переписать с -r
Но вот не задача - ругается не могу понять в чем причина
Вариант 1. Практически копия верхней команды только без символов
экранирования с -r уже не пашет
sed -ir '/^.*::.*/s/(^.*:: )(.*)/echo -n "\1"; echo \2 | base64 -d/e'
/tmp/passwd
Ругаеться на
sed: -e expression #1, char 59: invalid reference \2 on `s' command's RHS
Вариант 2. Версия вашего предложения без хардкодинга "userPassword"
sed -ir 's/(.*:: )(.*)/echo -n "\1"; echo \2 | base64 -d/e' /tmp/passwd
Ругаеться на
sed: -e expression #1, char 49: invalid reference \2 on `s' command's RHS
Что тут не так не знаете ?
--
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор
Скубриев Владимир
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Россия, Ростовская область, г. Таганрог
тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru