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

index a5870ed9b5647f06977cb046d91413c6c99599d5..1247475e60ff0c1121157f6052a8915b5e13ecfb 100644 (file)
@@ -75,11 +75,32 @@ ldap_cn() {
 }
 
 ldapsearch_csv() {
-  [ "$1" == "--noheader" -o "$1" == "-nh" ] && shift && ldapsearch_csv $@ | tail -n +2 && return
-  [ "$1" == "--human" -o "$1" == "-h" ] && shift && ldapsearch_csv $@ | csv2human && return
+  local aldap aawk human=no human_opt='--noheader'
+  while [ $# -gt 0 ]; do
+    case "$1" in
+      -head)  aawk+=" $1"; human_opt="" ;;
+      -human|-H) human=yes; human_opt=""; aawk+=" -head" ;;
+      -nohead) human_opt="--noheader"; aawk=${aawk// -head/} ;;
+      *) aldap+=" $1" ;;
+    esac
+    shift
+  done
+  aldap=${aldap/ /}; aawk=${aawk/ /}
+  [ $human = yes ] && ldapsearch_csv $aldap $aawk | csv2human $human_opt && return
+  ldapsearch -LLLx -o ldif-wrap=no $aldap | awk -f $NB_ROOT/lib/awk/ldap2csv.awk -- $aawk
 
-  #local filter="$1"; shift
-  ldapsearch -LLLx -o ldif-wrap=no $@ | awk -f $NB_ROOT/lib/awk/ldap2csv.awk -- $@
+  #[ "$1" == "--noheader" -o "$1" == "-nh" ] && shift && ldapsearch_csv $@ | tail -n +2 && return
 
+  #echo "ldapsearch -LLLx -o ldif-wrap=no $aldap | awk -f $NB_ROOT/lib/awk/ldap2csv.awk -- $aawk"
+  #$(case "$1" in -zaza) echo ZAZA;; esac)
+# NB 30.11.17   local grep=${aldap#* }
+# NB 30.11.17   grep=${grep// /\\|}
+# NB 30.11.17   [ -z "$grep" ] && grep='.'
+# NB 30.11.17   slapcat -a "${aldap%% *}" -o ldif-wrap=no | grep "^\($|$grep\|\)" | awk -f $NB_ROOT/lib/awk/ldap2csv.awk
+# NB 30.11.17   echo "slapcat -a "${aldap%% *}" -o ldif-wrap=no | grep "^\($|$grep\)" | awk -f $NB_ROOT/lib/awk/ldap2csv.awk"
+
+  #[ "$1" == "-human" ] && shift && ldapsearch_csv $@ | csv2human && return
+  #ldapsearch -LLLx -o ldif-wrap=no $@ | awk -f $NB_ROOT/lib/awk/ldap2csv.awk
+  #local filter="$1"; shift
   #slapcat -a "$filter" -o ldif-wrap=no | awk -f $NB_ROOT/lib/awk/ldap2csv.awk
 }
index 0a99a70fbf25109be7480cb1a19dfe37c66b9b22..f0e90641e75ff7496faf5ead807d880073375962 100755 (executable)
@@ -86,6 +86,7 @@ BEGIN {
   filter = ""
   for (i = 1; i < ARGC; i++) {
     if (ARGV[i] ~ /^[a-zA-Z0-9]+$/) filter = filter" "ARGV[i]
+    else if (ARGV[i] = "-head") PRINT_HEAD = 1
     delete ARGV[i]
   }