--- /dev/null
+#
+# 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
+
+