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

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



> sed -i '/^userPassword::/s/\(^userPassword:: \)\(.*\)$/\2/' /tmp/passwd
> \2 - уже возвращает чисто само значение.
> то есть "скрипт" меняет всю строку на само значение закодированное.
для начала, зачем эти сложности?
s/^userPassword:\ //
все! банальная же операция, отрезаем ненужное))


> echo "e1NIQX1WN3k5OFpIMU9FMEQ2TFVFb0loSHRGaHkycVk9" | openssl enc -base64 -d
> Возвращает нужный мне хэш пользователя ldap ).
в coreutils есть утилита base64, не надо никаких openssl (который еще не везде
есть) и тем более скриптов на баше, как ниже приводили.


> Но хотелось бы как то его выполнить прямо в контексте седа.
> subscript=`четотам`
> Я читал что про $subscript
> Но как это называется в sed  и как его правильно вставить в подстроку 
> для замены не могу найти.
а зачем? когда мне нужно строку заменить на результат выполнения какой-то
команды, я обычно юзаю что-то типа
echo "s/bla-bla-bla/$(echo sdg54SGDgsgGGXC4555 | base64 -d)/" | sed -f - -i input_file
в общем, сочиняем sed-скрипт на ходу и скармливаем его на stdin.


Reply to: