ambevar-dotfiles/.local/bin/renamelower

29 lines
461 B
Bash
Executable File

#!/bin/sh
usage () {
cat <<EOF>&2
Usage: ${0##*/} FILES
Rename FILES to lowercase if destination does not exist.
EOF
}
[ $# -eq 0 ] && usage && exit 1
[ "$1" = "-h" ] && usage && exit
[ "$1" = "--" ] && shift
for f ; do
filename=${f##*/}
case "$f" in
*/*) dirname="${f%/*}" ;;
*) dirname="." ;;
esac
nf="$(echo "$filename" | awk '{print tolower($0)}')"
[ "$nf" = "$filename" ] && continue
newname="${dirname}/${nf}"
mv -nv "$f" "$newname"
done