Вы можете воспользоваться утилитой iconv, способной преобразовывать строку из кодировки символов в другую, а также выполнять транслитерацию с похожим символом, когда кодировка адресата пропускает их.
следующий скрипт переименует каждый файл, переданный в командной строке, в одноименную версию ascii. При необходимости измените переменную input_enc и запустите с --no-test в качестве первого параметра, чтобы действительно переименовать.
#!/bin/bash
input_enc="UTF-8"
test=1
if [[ $1 == '--no-test' ]]; then
test=0
shift
else
echo "This is a simulation"
echo "run with --no-test as first parameter to really rename"
echo
fi
normalize() {
local f="$1"
echo "$f" | iconv -f "$input_enc" -t ASCII//TRANSLIT
}
for f; do
g="$(normalize "$f")"
if ((test)); then
echo mv -i "$f" "$g"
else
mv -i "$f" "$g"
fi
done