На самом деле вы не предоставили много информации об именах файлов.
Предполагая, что вы хотите взять множество файлов и просто преобразовать их из прописных в строчные, вы можете сделать что-то вроде.
rename.sh
#!/bin/bash
# this script takes one argument, a filename. If the file doesn't exist, we die.
# to accomodate files with spaces in the name, we'll grab $* as the filename.
filename="$*"
lowername=$( echo "$filename" | tr [A-Z] [a-z] )
if [ ! -f $filename ]; then
echo "File: $filename: file not found!"
exit 1
fi
printf "%-70s" "Renaming $filename to $lowername: "
st=$( mv "$filename" "$lowername" 2>&1 )
if (( $? == 0 )); then
printf "%-8s\n" "[ ok ]"
else
printf "%-8s\n" "[ err ]"
fi
Затем вы можете использовать этот скрипт с деревом каталогов файлов или подмножеством файлов, используя команду find.
find /some/directory/with/files -type f -name \*JPG -exec bash rename.sh {} \;
Теперь вы можете изменить аргументы 'tr' и аргументы 'find', чтобы настроить правила переименования, для которых файлы переименовываются и как они переименовываются.