CODE
#!/bin/bash
function usage {
echo "Usage:"
echo "$0 relative_path_to_directory/"
echo "with tailing / | do not use absolute path"
exit 1
}
if [ -z "$1" ]; then usage; fi
oldifs=$IFS
pwd=`pwd`
#evil hack for white spaces in filenames
IFS="
"
#begin to make lower case symlinks from directorys
for directory in $(find $1 -type d | grep [A-Z]); do
directory_lower_case=$(echo "$directory" | tr [A-Z] [a-z])
if [ ! "$directory" = "$directory_lower_case" -a ! -e "$directory_lower_case" ]; then
ln -s "$pwd/$directory" "$pwd/$directory_lower_case"
fi
done
#begin to make lower case symlinks from files
for file in $(find $1 -type f | grep [A-Z]); do
dirname=$(dirname $file)
basename=$(basename $file)
file_lower_case=$(echo "$basename" | tr [A-Z] [a-z])
if [ ! "$basename" = "$file_lower_case" -a ! -e "$file_lower_case" ]; then
ln -s $pwd/$file $pwd/$dirname/$file_lower_case
fi
done
#set IFS back to normal
IFS=$oldifs
function usage {
echo "Usage:"
echo "$0 relative_path_to_directory/"
echo "with tailing / | do not use absolute path"
exit 1
}
if [ -z "$1" ]; then usage; fi
oldifs=$IFS
pwd=`pwd`
#evil hack for white spaces in filenames
IFS="
"
#begin to make lower case symlinks from directorys
for directory in $(find $1 -type d | grep [A-Z]); do
directory_lower_case=$(echo "$directory" | tr [A-Z] [a-z])
if [ ! "$directory" = "$directory_lower_case" -a ! -e "$directory_lower_case" ]; then
ln -s "$pwd/$directory" "$pwd/$directory_lower_case"
fi
done
#begin to make lower case symlinks from files
for file in $(find $1 -type f | grep [A-Z]); do
dirname=$(dirname $file)
basename=$(basename $file)
file_lower_case=$(echo "$basename" | tr [A-Z] [a-z])
if [ ! "$basename" = "$file_lower_case" -a ! -e "$file_lower_case" ]; then
ln -s $pwd/$file $pwd/$dirname/$file_lower_case
fi
done
#set IFS back to normal
IFS=$oldifs

Sign In »
Register Now!
Help


Back to top









