#
# To make this Bourne shell script operative apply once:
#  chmod 700 namedown
#  rehash

case $# in

  0)
    echo
    echo "====================================================="
    echo "namedown, Convert file names to lower case and ; to ."
    echo "By Hannu Hirvonen and Timo Salmi Sun 18-Mar-2001"
    echo "http://www.uwasa.fi/~ts/ and http://www.uwasa.fi/~hh/"
    echo "====================================================="
    echo
    echo "Usage: namedown [FILENAME(S)]"
    echo
    echo "Converts file names only.  Directory names are not affected"
    echo
    ;;

  *)
    for oldname in $*
    do
      newfile=`basename ${oldname} | tr '[A-Z;]' '[a-z.]'`
      dirname=`dirname ${oldname}`
      newname="${dirname}/${newfile}"
      oldname="${dirname}/`basename ${oldname}`"
#Don't convert a file into itself
      if [ "${newname}" = "${oldname}" ]; then
        echo > /dev/null
#Don't convert directory names
      elif [ -d "${oldname}" ]; then
        mv "${oldname}" "${oldname}.bak" 
        mv "${oldname}.bak" "${newname:-${oldname}}"
        echo "Directory ${oldname} converted to directory ${newname:-${oldname}}"
#        echo /dev/null
#Don't convert if the file does not exist
      elif [ ! -f "${oldname}" ]; then
        echo > /dev/null
#Don't overwrite existing files
#      elif [ -f "${newname}" ]; then
#        echo "${oldname} not converted, file ${newname} already exists" 2>&1
#Don't move to subdirectories if they happen to exist
      elif [ -d "${newname}" ]; then
        echo "${oldname} not converted, directory ${newname} already exists" 2>&1
#Do it
      else
        mv "${oldname}" "${oldname}.bak" 
        mv "${oldname}.bak" "${newname:-${oldname}}"
        echo "File ${oldname} converted to file ${newname:-${oldname}}"
      fi
   done
    ;;
esac