Wenn ich den BefehlWie wird der Wert des ersten übereinstimmenden Attributs in ldapsearch abgerufen?
ldapsearch -h [HOST] -x -LLL uid=[UID] sn
Es wird wieder
dn: [DN]
sn: [SURNAME]
sn;x-role-2: [SURNAME]
für einen Eintrag, die mehrere Werte von sn
hat. Ich habe eine Frage in 2 Teilen:
Wie kann ich
ldapsearch
Rückkehr die Werte haben der Attribute nur, dh[SURNAME] [SURNAME]
Wie kann ich
ldapsearch
Rückkehr der Wert des ersten haben Attribut passend nur, dh[SURNAME]
Ich weiß, ich kann einige String-Manipulation mit grep
und sed
, um all dies zu replizieren (und ich habe bereits), aber ich frage mich, ob es eine effizientere, integrierte Möglichkeit, diese beiden Ziele zu erreichen.
Jede Hilfe würde sehr geschätzt werden!
EDIT: Hier ist der Code I zur Zeit zu erreichen, bin mit dem obigen:
ldapsearch -h [HOST] -x -LLL uid=[UID] sn | sed 's/[^:]*: //;2q;d'
Die sed 's/[^:]*: //;2q;d'
erste entfernt die Attributnamen und wählt dann den Wert des ersten Anpassungsattribut (die auf der ist zweite Zeile, da die dn
die erste Zeile einnimmt).
Danke. Ich habe die Frage so aktualisiert, dass sie den Code enthält, den ich gerade verwende. – user76284
Ich versuche hier nicht, Haare zu teilen, aber das Skript im Abschnitt BEARBEITET erhält immer noch nicht den Wert, wenn das angezeigte LDIF BASE64-kodierte Daten enthält. Sie müssen diese Daten wahrscheinlich zuerst dekodieren, um sie in einer anderen Anwendung zu verwenden. –