Для того чтобы ldapsearch выдавал результаты по русски а не в base64 Надо передать вывод на такой перловый однострочник:
perl -MEncode -MMIME::Base64 -lpe 'if (/::/) { ($attr,$_)=split ; Encode::from_to($_=decode_base64($_),"utf8","utf8") ; $_="$attr : $_" }'
perl -MEncode -MMIME::Base64 -lpe 'if (/::/) { ($attr,$_)=split ; Encode::from_to($_=decode_base64($_),"utf8","utf8") ; $_="$attr : $_" }'
Супер! Наконец-то нарыл нормальное универсальное решение, в других статьях какие-то огромные строки и куча преобразований, которые работают через раз. Я удивлен что в ldapsearch нет встроенного декодировщика base64 строк, ведь это каждому второму нужно!
ОтветитьУдалитьКстати, в конструкции:
ОтветитьУдалить$_="$attr : $_" }'
не нужно двоеточие, иначе он делает:
name: MyName
name:: : МоёИмя
вместо:
name: MyName
name: : МоёИмя