/ / Función bash con formato - bash, unix, bash-function

Función Bash con formato - bash, unix, función bash

Estoy usando lo siguiente en mi archivo .bashrc como una función para obtener información de un LDAP externo, pero me encantaría que produjera un par de valores, pero cada uno en su propia línea

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

Idealmente, "generaría algo como:

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

Cosas como esas.

Ideas, sugerencias apreciadas!

Respuestas

1 para la respuesta № 1

Utilizar el -E Bandera con grep para expresiones regulares extendidas:

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

Esto devolverá coincidencias de cualquiera uidNumber, displayName o loginShell cada uno seguido de un :.

Espero que esto ayude