#!/bin/sh # # Convert a .schema file as used by OpenLDAP slapd to LDIF. # awk ' BEGIN { buffer = ""; print "dn: cn=schema"; } /^[\t ]*$/ { next; } /^#.*$/ { next; } /^[\t ]+/ { gsub("^[\t ]+",""); buffer = buffer " " $0; next; } { if (length(buffer) > 0) { print buffer; } ; $1 = tolower($1) ; gsub("^objectclass$","objectclasses:",$1) gsub("^attributetype$","attributetypes:",$1) for (i in oids) { if (match($0, "[\t ]"i":") > 0) { gsub("[\t ]"i":", " "oids[i]"."); } } if (index($1, "objectidentifier") > 0) { oids[$2] = $3; } else { buffer = $0; } } END { if (length(buffer) > 0) { print buffer; }; print "" } ' "$@"