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

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



18.06.2013 18:48, Artem Chuprina пишет:
Владимир Скубриев -> debian-russian@lists.debian.org  @ Tue, 18 Jun 2013 17:49:32 +0400:

  ВС> Есть файл в котором есть строки на подобии этой:

  ВС> userPassword:: e1NIQX1WN3k5OFpIMU9FMEQ2TFVFb0loSHRGaHkycVk9

  ВС> Это значение справа - в кодировке base64.

  ВС> Его нужно раскодировать.

  ВС> Начал писать sed скрипт и застопорился на том, как мне найденную подстроку
  ВС> теперь преобразовать и именно на результат преобразования заменить

  ВС> sed -i '/^userPassword::/s/\(^userPassword:: \)\(.*\)$/\2/' /tmp/passwd

  ВС> \2 - уже возвращает чисто само значение.

  ВС> то есть "скрипт" меняет всю строку на само значение закодированное.

  ВС> теперь я хотел бы его передать чему то, что вернуло бы раскодированное
  ВС> значение.

  ВС> идея была использовать openssl, правда он у меня кое что лишнее возвращает
  ВС> пока - но не беда разберусь. (ругается при запуске на WARNING: can't open
  ВС> config file: /usr/lib/ssl/openssl.cnf )

  ВС> echo "e1NIQX1WN3k5OFpIMU9FMEQ2TFVFb0loSHRGaHkycVk9" | openssl enc -base64 -d

  ВС> Возвращает нужный мне хэш пользователя ldap ).

  ВС> Но хотелось бы как то его выполнить прямо в контексте седа.

  ВС> subscript=`четотам`

  ВС> Я читал что про $subscript

  ВС> Но как это называется в sed  и как его правильно вставить в подстроку для
  ВС> замены не могу найти.

  ВС> Есть подозрение, что это не будет работать, тогда подскажите пожалуйста как
  ВС> правильней?

sed, помнится, делать так не умеет.  Стоит взять perl.
да как бы перла еще не хватало )

видел я примеры на нем, но хотелось бы все таки без всяких там perl, ruby, python, etc

--

С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru


Reply to: