LINUX.ORG.RU

Избавиться от переноса длинных строк в выводе ldapsearch

 


0

1

Всем привет,

Даже не знаю, куда это - поэтому в General.

Пишу сценарий, обрабатывающий вывод ldapsearch. Обработка в памяти, без промежуточных файлов на диске (да они и не помогли бы, судя по содержимому файла, в который я на пробу перенаправил вывод).

Проблема в том, что ldapsearch, возавращая строку длннее 78 символов, режет её с помощью \n - который я использую в качестве разделителя при наполнении массива результатами - с соответствующим эффектом: вместо строки с длинным DN я получаю первые 78 символов DN в одной строке, и остальные - в следующей строке. cut не помогает - похоже, это внутренняя фишка ldapsearch.

Я, конечно, могу это обработать проверкой первого символа следующей строки - но выглядит это костыльно.

Есть ли ещё способы - желательно, приводящие к тому, что длинная строка остаётся длинной строкой, без разбиения? Или это вообще прибито гвоздями к стандартам LDAP?

★★

Ответ на: комментарий от generator

Увы и ах... -LLL там есть, но это влияет на другие параметры вывода. С длиной строки совсем не связано.

Cyril ★★ ()
Ответ на: комментарий от ziemin

Увы... Если посмотреть man ldapsearch, то:

-T path Write temporary files to directory specified by path (default: /var/tmp/)

Если вставить эту опцию в командную строку, то происходит вообще странное: я указываю выводить атрибуты sAMAccountName и userAccountControl, а получаю только dn (который выводится всегда) и sAMAccountName; userAccountControl куда-то пропадает, а dn всё равно обрезается по 78 символу.

P.S. А, нет, стоп - userAccountControl выводится. Но dn обрезается.

Cyril ★★ ()
Последнее исправление: Cyril (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.