[OT] Changing the case of filenames

Paul Howarth paul at city-fan.org
Fri Apr 29 13:45:05 UTC 2005


David Niemi wrote:
> I am running a fortran program which requires all input file names to be
> uppercase.  As things were originally done in Windo$e all the filenames
> are mixed case (with numbers).
> 
> Searching around I came across the "tr" command, but my difficulty comes
> in trying to use this from the command line (or even in a bash script).
> 
>     mv * | tr [a-z] [A-Z]
> 
> Does not work as mv requires a directory for the objective with multiple
> files.  All of the scripts that I have seen are mainly for changing the
> case of text in a text file so wouldn't work for me.
> 
> So, how would I do this?

You could use a script like this one:

#!/bin/sh
for f in *
do
         F="`echo $f | tr a-z A-Z`"
         echo Renaming \"$f\" to \"$F\"
	mv "$f" "$F"
done

That would rename all files in the current directory where you run it from.

Paul.




More information about the fedora-list mailing list