This is the script I use. Feed it a list of pathnames (files or directories) as args.

Code:
#!/bin/bash
#
# Convert names from current or specified directory(s) to all uppercase:
#
ls -1 "$@" | awk -v Q="'" '
{
        if (toupper($0) != $0) {
                system("/bin/mv " Q $0 Q" "Q toupper($0) Q);
        }
}'


To convert an entire directory tree, use it like this:

## Assumes above script is saved as "uppercase" somewhere in $PATH
cd bigdirtree
find . -type d | xargs uppercase


Edited by mlord (10/12/2008 21:30)