#!/bin/sh

copy() {
  for FILE in $1/*.ldif
  do
    NEW=$(echo `basename $FILE` | cut -d'}' -f 2)
    cp $FILE $2/$NEW
  done
}

update() {
  for FILE in $1/*.ldif; 
  do
    while IFS='#' read LINE; do
      case ${LINE%%:*} in
        "dn")
          LINE="dn: cn="${LINE#*\}}",cn=schema,cn=config"
        ;;

        "cn")
          LINE="cn: "${LINE#*\}}
        ;;

        "structuralObjectClass")
          unset LINE
        ;;

        "entryUUID")
          unset LINE
        ;;

        "creatorsName")
          unset LINE
        ;;

        "createTimestamp")
          unset LINE
        ;;

        "entryCSN")
          unset LINE
        ;;

        "modifiersName")
          unset LINE
        ;;

        "modifyTimestamp")
          unset LINE
        ;;
      esac

      echo "${LINE#:*}" >> $2/`basename ${FILE#*\}}`
    done < $FILE 
  done
}



if [ "$#" -ne 1 ]; then
  echo "Illegal number of parameters"
  exit 1
fi

rm -f -r $1/tmp1
mkdir $1/tmp1
copy $1 $1/tmp1 

rm -f -r  $1/tmp2
mkdir $1/tmp2
update $1/tmp1 $1/tmp2
