}
ldapsearch_csv() {
- 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
+ [ "$1" == "--human" -o "$1" == "-h" ] && shift && ldapsearch_csv $@ | csv2human && return
+
#local filter="$1"; shift
+ ldapsearch -LLLx -o ldif-wrap=no $@ | awk -f $NB_ROOT/lib/awk/ldap2csv.awk -- $@
+
#slapcat -a "$filter" -o ldif-wrap=no | awk -f $NB_ROOT/lib/awk/ldap2csv.awk
}
+#!/usr/bin/awk -f
+
BEGIN {
FS = ": "
CONCAT = ";"
- #h[x] = ""
FOUND = 0
- #delete h
+ PRINT_HEAD = 0
}
/^$/ {
next
}
- if (!count) {
+ if (PFIELDS_OK == 1) {
+ delete fields
+ for (i in PFIELDS) {
+ fields[i] = PFIELDS[i]
+ }
+ }
+
+ if (PRINT_HEAD == 1 && !count) {
line = ""
for (i in fields) {
sub(/:$/,"",i)
fields[field]++
}
+BEGIN {
+ split("",PFIELDS,"")
+ PFIELDS_OK = 0
+
+ filter = ""
+ for (i = 1; i < ARGC; i++) {
+ if (ARGV[i] ~ /^[a-zA-Z0-9]+$/) filter = filter""ARGV[i]" "
+ delete ARGV[i]
+ }
+
+ if (filter != "") {
+ sub(/ *$/,"",filter)
+ PFIELDS_OK = 1
+ }
+
+ split(filter,values," ")
+ for (i in values) {
+ PFIELDS[values[i]]++
+ }
+}