2015-04-20 3 views
1

Я использую следующие в моем файле .bashrc как функцию, чтобы Grep информацию от внешнего LDAP, но хотел бы для него, чтобы вывести пару значений, но каждый по своей собственной линииBash функция форматирования

function ldaps() { ldapsearch -x -H ldaps://ldap-server.example.com -b ou=People,dc=exampe,dc=com uid=$1 | grep uidNumber: ; } 

В идеале, было бы выход что-то вроде:

% ldaps jsixpack 
uidNumber: 9255 
loginShell: /bin/bash 
displayName: Joe Sixpack 

вещи, как это.

Идеи, предложения оценены!

+2

Каков исходный вывод из запроса ldap? –

ответ

1

Используйте -E флаг с Grep для расширенного регулярного выражения:

function ldaps() { 
    ldapsearch -x -H ldaps://ldap-server.example.com -b\ 
    ou=People,dc=example,dc=com uid=$1 | 
    grep -E '(uidNumber|displayName|loginShell):' 
} 

Это будет возвращать матчи либо uidNumber, displayName или loginShell каждого, которые следуют в :.

Надеюсь, что это поможет

+0

спасибо, это потрясающе и работает безупречно! Очень признателен. – Dan

Смежные вопросы