#!/bin/bash # Recursively rename everything in the current directory as necessary # to make it match the case of filenames in Skyrim's "Data" directory,
from=`pwd -P`
to="${HOME}/.steam/debian-installation/steamapps/common/Skyrim_1.5.97/Data"
tmp="/tmp/skydata_index"
filez="/tmp/skydata_from"
IFS='
'
match_case() {
cd "$2"
find . | grep -v '^[.]$' > "$tmp"
cd "$1"
find . -maxdepth 1 | grep -v '^[.]$' > "$filez"
for j in `cat $filez`; do
if ( grep -i "^${j}$" $tmp ); then
name=`grep -i "^${j}$" $tmp | head -1`
if [ "${name}xx" != "${j}xx" ] ; then
mv "$j" "$name"
fi
fi
done
# going recursiv
find . -maxdepth 1 -type d | grep -v '^[.]$' > "$filez"
for j in `cat $filez`; do
if ( test -d "${2}/${j}" ) ; then
match_case "${1}/${j}" "${2}/${j}"
fi
done
}
match_case $from $to
rm $tmp $filez