#!/bin/bash set -e ldapsearch -xLLL "(&(cn=*)(objectClass=ipHost))" \ cn ipHostNumber macAddress description 2>/dev/null | perl -p0e 's/\n //g' | \ while read KEY VALUE ; do case "$KEY" in dn:) HOSTNAME= ; IP= ; MAC= ; DESC= ; DN=${VALUE} OU=$(echo $DN | sed -r -e 's/cn=[^,]+,ou=[^,]+,ou=[^,]+,ou=([^,]+),.*/\1/') ;; cn:) HOSTNAME="${VALUE}";; ipHostNumber:) IP="${VALUE}";; macAddress:) MAC="${VALUE}";; description:) DESC="${VALUE}";; "") if [ -n "$DESC" ]; then DESC="\"${DESC}\""; fi echo "${OU},${HOSTNAME},${IP},${MAC},${DESC}" ;; esac done exit 0