Ciao Piviul,
Il giorno mar, 12/03/2024 alle 10.18 +0100, Piviul ha scritto:
Ciao a tutti, ho uno script che interroga (ldapsearch) alcuni campi di
un db ldap e aggiunge alcuni altri ammenicoli che poi importa in un
altro db sempre ldap.
[...]
-e "s/displayName:\ \(.*\)$/displayName: \1\nsn: \1\nou:
utenti\nobjectClass: top\nobjectClass: inetOrgPerson/"> $ldap_ns_path
[...]
Mi pare di capire che sed sostituisca solo le linee che contengono
"displayName:" seguito da uno spazio. Nel tuo caso "displayName:" non è
seguito da uno spazio, ma dal secondo ":", sicché sed non lo prende in
considerazione. Forse dovresti cambiare l'espressione con le regex estese,
così:
sed -E -e "s/displayName(:|::)\ (.*)$/displayName\1 \2/"