lowercase script

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Kevin Buettner
Date:  
Subject: lowercase script
On Jul 27, 2:42pm, Lucas Vogel wrote:

> I remember someone asking a question like this and getting an answer posted,
> so here goes. I don't have my Bash book in hand...
>
> How do I rename files that are all uppercased to all lowercase in a script?


--- rename-to-lower ---
#!/usr/bin/perl -w

foreach my $uname (@ARGV) {
    next unless $uname =~ /[A-Z]/;
    my $lname = $uname;
    $lname =~ tr [A-Z] [a-z];
    if (-e $lname) {
    rename $lname, "$lname~";
    print "Warning: $lname already exists; renamed to $lname~\n";
    }
    rename $uname, $lname;
}
--- end rename-to-lower ---


Here's an example of it's use:

ocotillo:tst$ ls
ocotillo:tst$ echo A >A
ocotillo:tst$ echo CaT >CaT
ocotillo:tst$ echo cat >cat
ocotillo:tst$ rename-to-lower A CaT
Warning: cat already exists; renamed to cat~
ocotillo:tst$ ls
a cat cat~
ocotillo:tst$ cat a
A
ocotillo:tst$ cat cat
CaT
ocotillo:tst$ cat cat~
cat