#!/bin/bash function usage { echo "usage: ucwords [-i] | [-t] | [-h]" echo ""; echo "Use -i for interactive - Asks before changes"; echo "Use -t for test mode - Changes nothing"; } testmode= interactive= while [ "$1" != "" ]; do case $1 in -i | --interactive ) interactive=1 testmode= echo -e "\033[1mInteractive Mode - Asks before changes\033[0m\n" ;; -t | --testmode ) testmode=1 interactive= echo -e "\033[1mTest Mode - Nothing will be changed\033[0m\n" ;; -h | --help ) usage exit ;; * ) usage exit 1 esac shift done find . -type d | sort -r | while read dir; do old=$(basename "$dir"); dir=$(dirname "$dir"); new=$(echo "$old" | perl -pe 's/((?:^|\W)\w)/\U$1/g'); if [ "$new" != "$old" ]; then renameit= looped=1 echo "looped" itsok=1 echo "$dir/$old ==> $dir/$new"; if [ "$interactive" != "" ]; then echo -n -e "\033[1mRename? (y/n)\033[0m > " read