Для базы данных OpenLDAP мне нужно найти всех пользователей, которые имеют телефонный номер, соответствующий шаблону регулярных выражений, и находятся в данном организационном подразделении.
В соответствии с этим: Поиск в LDAP с использованием регулярного выражения невозможен с помощью ldapsearch (что в противном случае было бы моим первым выбором).
Я хотел бы выполнить наименьшую возможную работу на стороне клиента, и запрос всех пользователей из организационной единицы и фильтрация их с помощью grep или чего-то подобного представляется слишком ресурсоемкой. Есть ли лучший способ сделать это?
Кроме того, я не очень знаком с shell, поэтому немного боюсь "sed", но я слышал, что он мощный и хорошо работает при фильтрации регулярных выражений. Если бы мне нужно было выполнить фильтрацию на стороне клиента, что было бы самым простым способом (без ущерба для производительности)?
И о пакетных входах. Если я получу много неполных телефонных номеров в CSV-файле, и каждый частичный номер может иметь тип «префикс» / «постфикс» / «регулярное выражение» (так что это буксирные столбцы: тип и частичный номер), что будет лучшим С точки зрения производительности?
- Должен ли я просто собрать всех пользователей в подразделении организации и отфильтровать их по сценарию оболочки (перебирая всех пользователей и пытаясь сопоставить любое из чисел)?
- Или я должен сделать запрос для каждого числа (это приемлемый вариант, если в запросе ldap возможен фильтр регулярных выражений для атрибутов).
На моем уровне знаний первый путь - это путь, но есть ли лучшее решение?
Я использую OpenLDAP 2.4.23, который имеет значение в любом случае.