On 19.06.2013 01:30, dimas wrote:
что означает обратный слэш послеsed -i '/^userPassword::/s/\(^userPassword:: \)\(.*\)$/\2/' /tmp/passwd \2 - уже возвращает чисто само значение. то есть "скрипт" меняет всю строку на само значение закодированное.для начала, зачем эти сложности? s/^userPassword:\ // все! банальная же операция, отрезаем ненужное)) 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. значение на которое нужно поменять не определено заранее и зависит от того, что идет после userPassword:: Вот кусок исходного файла: # anthropics, users, example.lab dn: cn=anthropics,ou=users,dc=example,dc=lab cn: Anthropics Client cn: anthropics description: Anthropics Client gidNumber: 1901 homeDirectory: /home/anthropics loginShell: /bin/bash mail: anthropics@example.com objectClass: simpleSecurityObject objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount sn: Anthropics uid: anthropics uidNumber: 2019 userPassword:: e1NIQX1vTzU2WHBYMlU3cmZFWkJpL3I4UGUvYjNyb0k9 # apotash01, users, example.lab dn: cn=apotash01,ou=users,dc=example,dc=lab cn: Adam Potash cn: apotash01 description: Passenger monitoring project gidNumber: 1901 homeDirectory: /home/apotash01 loginShell: /bin/bash mail: apotash01@example.com objectClass: simpleSecurityObject objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount sn: Potash uid: apotash01 uidNumber: 2032 userPassword:: e1NIQX1rVGkyNVBYd3FOZlNURXZkT1d3Q1FPZGZ5OVk9 -- С Уважением, специалист по техническому и программному обеспечению, системный администратор Скубриев Владимир ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Россия, Ростовская область, г. Таганрог тел. моб: +7 (918) 504 38 20 skype: v.skubriev icq: 214-800-502 www: skubriev.ru |