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

index 1247475e60ff0c1121157f6052a8915b5e13ecfb..c75cec2399b42628530916e4ca10a58ce4f2ea0f 100644 (file)
@@ -74,6 +74,22 @@ ldap_cn() {
   slapcat -a 'cn=*' $@ | grep ^dn | sed 's/dn: //'
 }
 
+slapcat_csv() {
+  local aawk human=no human_opt='--noheader'
+  local aldap="$1"; shift
+  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/} ;;
+      *) aawk+=" $1" ;;
+    esac
+    shift
+  done
+  [ $human = yes ] && slapcat_csv "$aldap" $aawk | csv2human $human_opt && return
+  slapcat -a "$aldap" -o ldif-wrap=no | awk -f $NB_ROOT/lib/awk/ldap2csv.awk -- $aawk
+}
+
 ldapsearch_csv() {
   local aldap aawk human=no human_opt='--noheader'
   while [ $# -gt 0 ]; do