]> git.nbdom.net Git - nb.git/commitdiff
lib/awk/ldap2csv.awk
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 28 Nov 2017 03:02:29 +0000 (03:02 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Tue, 28 Nov 2017 03:02:29 +0000 (03:02 +0000)
etc/profile.d/ldap.sh
lib/awk/ldap2csv.awk

index 46e2272b004df7e4e279371724593755fbfffff8..3f28b29162d0130b6384049e7e6bd51eaf5fd94c 100644 (file)
@@ -57,16 +57,16 @@ ldap_config2dir() {
 
 ldap_config() {
 # NB 03.11.17   ldapsearch -Q -Y EXTERNAL -H ldapi:/// -o ldif-wrap=999 -b cn=config '(!(objectClass=olcSchemaConfig))'
-  slapcat -o ldif-wrap=999 -b cn=config -a '(!(objectClass=olcSchemaConfig))'
+  slapcat -o ldif-wrap=no -b cn=config -a '(!(objectClass=olcSchemaConfig))'
 }
 
 ldap_databases() {
-  slapcat -o ldif-wrap=999 -b cn=config | grep "^dn: olcDatabase="
+  slapcat -o ldif-wrap=no -b cn=config | grep "^dn: olcDatabase="
 }
 
 ldap_schema_config() {
 # NB 03.11.17   ldapsearch -x -s base -b "cn=subschema" objectclasses
-  slapcat -o ldif-wrap=999 -b cn=config -a '(&(objectClass=olcSchemaConfig))'
+  slapcat -o ldif-wrap=no -b cn=config -a '(&(objectClass=olcSchemaConfig))'
 }
 
 ldap_cn() {
@@ -77,7 +77,7 @@ ldap_cn() {
 ldapsearch_csv() {
   local filter="$1"; shift
   #slapcat -a "$filter" -o ldif-wrap=no | awk -F': ' '\
-  ldapsearch -LLLx "$filter" $@ -o ldif-wrap=no | awk -f lib/awk/ldap2csv.awk
+  ldapsearch -LLLx "$filter" $@ -o ldif-wrap=no | awk -f $NB_ROOT/lib/awk/ldap2csv.awk
 }
 
 # NB 14.11.17 ldap_objectclasses() {
index 6867af203f1ec5970165223e11980d21c586f39c..d6a72c5e1262443398f4d378b1c0c73353aa20e5 100644 (file)
@@ -1,5 +1,6 @@
 BEGIN {
   FS = ": "
+  CONCAT = ";"
 }
 
 /^$/ {
@@ -16,34 +17,41 @@ BEGIN {
 
   count++
   line = ""
+
   for (i in fields) {
-    sub(/^.*?: /,"",h[i]) 
+
     if (i ~ /:$/) {
       cmd="echo "h[i]" | base64 -d"
       cmd | getline x
       close(cmd)
       h[i] = x
     }
+
     line = line"\t"h[i]
   }
 
   sub(/^\t/,"",line)
-  print line
+  print line"\n"
   delete h
   next
+
 }
 
 !/^(objectClass_): / {
 
-  sub(/[ \r\n]+$/,"",$0)
+  field = $1
+  #sub(/[ \r\n]+$/,"",$0)
+  sub(/^.*?: /,"",$0) 
 
-  if (h[$1]) {
-  print ">"h[$1]
-    h[$1] = h[$1]"|"$0
+  if (field in h && h[field] != "") {
+#concat = h[field]"|"$0
+#print ">"concat
+    #h[field] = h[field]"|"$2$3$4$5$6$7$8$9
+    h[field] = h[field]""CONCAT""$0
   } else {
-    h[$1] = $0
+    h[field] = $0
   }
 
-  fields[$1]++
+  fields[field]++
 }